# talks-site

## Overview

I ended up making this for a few reasons.

1. I couldn't find a simple open source blog site template that was ready to go out of the box.
2. Making this project gives me blog material.
3. I needed an excuse to use PostgreSQL in a project.
4. Every job application asks for a 'personal site' nowadays, so if that's what you need, here you go.

### Front

Written in TypeScript (because who uses JS anymore).
The front end is done via React, Vite, and Tailwind.

To be honest most of the tailwind is likely to be done by a chat bot. I don't particularly care for styling that much.

### Back

Written in Python.
The backend is done using FastAPI. For the sole reason that it has a very nice /docs api built in so I don't have to do that.

### Database

The database is PostgreSQL, unsure what version -- it shouldn't really matter that much.
Access is done via sqlalchemy orm, migrations via alembic.

Has an automatic backup on a CRON that outputs to the root volume.

### How to build?

The whole thing should run by using docker.

```bash
docker compose up
```

There is a docker-compose file in the root, I would suggest changing the user/password to your db if you ever intend for this to leave your home network.
I'm sure there are a lot of other security measures as well, but at the time of writing this I'm not particular about the security for the web application 2 people might view.

### I have a bug

If you run into any issues feel free to email me at `alexander.muszynski@gmail.com` with the subject being `BlogSiteGitea: {myissue}` or make an issue on the gitea repo. I may or may not get around to it, I just work on this as I feel like it.
