An over-engineered note taking app
I created this project in order to both learn more about authentication by manually implementing it using JWTs and explore some Golang tools and libraries, such as gin as an HTTP framework, sqlc for generating code from SQL queries and golang-migrate to perform database migrations.
TODO
The backend is a Go HTTP server that provides REST endpoints for a simple frontend, made in SolidJS, and communicates with a PostgreSQL database using the pgx driver for Go. It also provides authentication using JWTs.
Go
- version1.23.4
or abovePostgreSQL
- tested using version16.6
NodeJS
- tested using versionv23.4.0
NPM
- tested using version11.0.0
sqlc
- code generation from SQL queries (optional)golang-migrate
- database migrations (optional)
- Create a
.env
file in the project's root with the same schema as.env.sample
- Configure your
.env
with the propper values - Build with
go build -o super-note ./cmd/server
- Run it with
./super-note
cd frontend
- Create a
.env
file with the same schema as.env.sample
- Configure your
.env
with the propper values - Build with
npm run build
- Run it with
npm run serve
- add Dockerfiles
- add tests
- add css
- add, remove, change, display lists and tasks
- add profile page?
- allow to configure host and port for FE
- figure out what to do with FE readme