dependabot[bot] 593cb75ebe
Bump @sveltejs/kit from 2.12.0 to 2.12.1 in /app
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.12.1/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-17 09:36:51 +00:00
2024-01-08 20:07:59 +00:00
2023-11-12 17:43:23 +03:00
2023-11-12 18:18:01 +03:00
2023-11-12 17:43:23 +03:00
2024-10-06 18:06:31 +03:00

website | my personal website

Version Website Status API Status

This repo contains all the source code for my personal website, ngn.tf All code is licensed under AGPL version 3 (see LICENSE.txt)

Directory structure

app

Contains frontend application, written with SvelteKit. It supports full SSR. Contains modified CSS from github-markdown-css and fonts from NerdFonts

api

Contains the API server, written in Go. It uses the Fiber web framework which offers an Express like experience. I choose Fiber since I've used worked with express a lot in the past. However previously the I was using Gin (see history section).

API stores all the data in a local sqlite(3) database. Go doesn't support sqlite3 out of the box so I'm using mattn's sqlite3 driver.

admin

The frontend application does not contain an admin interface, I do the administration stuff (such as adding posts, adding services etc.) using the python script in this directory. This script can be installed on to the PATH by running the install.sh script. After installation it can be used by running admin_script.

Deployment

Easiest way to deploy is to use docker. I have created a compose.yml file so the API and the frontend application can be deployed easily with just the docker-compose up command:

version: "3"
services:
  app:
    build:
      context: ./app
      args:
        API_URL: https://api.ngn.tf
    ports:
      - "127.0.0.1:7002:3000"
    depends_on:
      - api

  api:
    build:
      context: ./api
    environment:
      - API_PASSWORD="securepassword"
      - API_FRONTEND_URL="https://ngn.tf"
    ports:
      - "127.0.0.1:7001:7001"
    volumes:
      - ./api/data.db:/app/data.db

History

Some nostalgic history/changelog stuff (just for the major version numbers):

  • v0.1 (late 2020 - early 2021): First ever version of my website, it was just a simple HTML/CSS page, I never published any of the source code and I wiped the local copy on my USB drive in early 2022

  • v1.0 (early 2021 - late 2022): This version was actualy hosted on my github.io page, and all the source code was (and still is) avaliable, it was just a simple static site, here is a screenshot

  • vLOST (late 2022 - early 2023): As I learned more JS, I decided to rewrite (and rework) my website with one of the fancy JS frameworks. I decided to go with Svelte. Not the kit version, at the time svelte did not support SSR. I do not remember writting an API for it so I guess I just updated it everytime I wanted to add content? It was pretty much like a static website and was hosted on ngn13.fun as at this point I had my own hosting. The source code for this website was in a deleted github repository of mine, I looked for a local copy on my old hard drive but I wasn't able to find it. I also do not remember how it looked like, sooo this version is pretty much lost :(

  • v2.0 (early 2023 - late 2023): After I discovered what SSR is, I decided to rewrite and rework my website one more time in NuxtJS. I had really "fun time" using vue stuff. As NuxtJS supported server-side code, this website had its own built in API. This website was also hosted on ngn13.fun

  • v3.0 (2023 august - 2023 november): In agust of 2023, I decided to rewrite and rework my website again, this time I was going with SvelteKit as I haven't had the greatest experience with NuxtJS. SvelteKit was really fun to work with and I got my new website done pretty quickly. (I don't wanna brag or something but I really imporeved the CSS/styling stuff ya know). I also wrote a new API with Go and Gin. I did not publish the source code for the API, its still on my local gitea server tho. This website was hosted on ngn13.fun as well

  • v4.0 (2023 november - 2024 october): In this version the frontend was still similar to 3.0, the big changes are in the API. I rewrote the API with Fiber. This version was the first version which is hosted on ngn.tf which is my new domain name btw

  • v5.0 (2024 october - ...): The current major version of my website, has small UI and API tweaks when compared to 4.0

Screenshots (from v4.0)

Description
My personal website
https://ngn.tf
Readme 9.3 MiB
Languages
Go 34.4%
Svelte 21.9%
CSS 21.2%
Python 13.2%
JavaScript 7.1%
Other 2.2%