Skip to content

Personal website to host my portofolio, DB and future API's. Built using Vite, React, Shadcn and Tailwind for frontend. Actix-web and SurrealDB for backend and Github's OAuth2. First experience with Rust for backend.

License

Notifications You must be signed in to change notification settings

konyogony/konyogony.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

konyogony.dev (WIP)

Personal website to host my portofolio, DB and future API's.
Built using Vite, Shadcn and Tailwind for frontend. Actix-web and SurrealDB for backend and Github's OAuth2.
First experience with Rust for backend.

Main Installation Guide

  1. Install rustup, bun and other dependencies using:
  • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • curl -sSf https://install.surrealdb.com | sh
  • curl -fsSL https://bun.sh/install | bash
  1. Install packages using cd frontend & bun install
  2. Start frontend using bun dev or build the project for smoother experience using bun run build and then bun run start

SSL Installation Guide

You have to make sure you have setup nginx and SSL certificates to run on https, the steps are following:

  1. Make sure you have installed nginx and mkcert
  2. Run mkcert -install to authenticate your device
  3. Then run mkcert localhost to get SSL certificate
  4. Place localhost.pem and localhost-key.pem inside the root of backend directory
  5. Change the main.rs file in backend to include the files you just made. Here is an example:
builder
    .set_private_key_file(
        "<REPLACE WITH YOUR CERTIFICATE LOCATION (NOT RELATIVE)>",
        SslFiletype::PEM,
    )
    .unwrap();
builder
    .set_certificate_chain_file(
        "<REPLACE WITH YOUR CERTIFICATE KEY LOCATION (NOT RELATIVE)>",
    )
    .unwrap();
  1. Then edit nginx config using nano /etc/nginx/nginx.conf and adding following lines inside the http block:
include /etc/nginx/sites-enabled/*;

types_hash_max_size 2048;
types_hash_bucket_size 128;
  1. Create and edit file localhost using nano /etc/nginx/sites-enabled/localhost
  2. Paste following lines replacing location of files ssl_certificate and ssl_certificate_key:
server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate <REPLACE WITH YOUR CERTIFICATE LOCATION (NOT RELATIVE)>;
    ssl_certificate_key <REPLACE WITH YOUR CERTIFICATE KEY LOCATION (NOT RELATIVE)>;

    location / {
        proxy_pass http://localhost:5000/;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_http_version 1.1;
        proxy_set_header Connection "Upgrade";
    }
}
  1. Run systemcl enable nginx and systemcl start nginx to enable automatic start on boot. Check for errors
  2. Frontend should be now up and running on https://localhost

Roadmap

Frontend

  • Move to Vite
  • Move to Next.js
  • Home Page
    • About
    • Portfolio
    • Projects
    • Links
  • Docs page - 4+ weeks (inclding moving 3 times)
    • Sidebar
    • MDX Support
    • Hashtags
    • ScrollToTop
    • Cmdk
    • [] Mobile
    • Code
  • Discord Bot Page
    • About
    • Link
  • Login Page
    • Change layout
    • Fix login system
  • Notes App
  • Useful Info Page (e.g. /extras#boot-into-windows) --> Docs
  • Make social redirect (e.g. /social/spotify)

Backend

  • Move to SurrealDB 2.0
  • Change to RocksDB
  • Auth working
    • Get access-token
    • Get user data
    • Make user in DB
    • Create & give JWT token
      • Pass in cookies
    • Validate JWT
    • Checking last active
  • Notes app

Misc

  • Discord bot pull on commit to main branch
  • Admin for Info page
  • Add "About" command for my discord-bot
  • Proper branding and PFP (currently using steamhappy everywhere I can)

About

Personal website to host my portofolio, DB and future API's. Built using Vite, React, Shadcn and Tailwind for frontend. Actix-web and SurrealDB for backend and Github's OAuth2. First experience with Rust for backend.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published