Skip to content

estevesnp/super-note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

super-note

An over-engineered note taking app

Motivation

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.

Overview

TODO

Architecture

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.

Dependencies

  • Go - version 1.23.4 or above
  • PostgreSQL - tested using version 16.6
  • NodeJS - tested using version v23.4.0
  • NPM - tested using version 11.0.0
  • sqlc - code generation from SQL queries (optional)
  • golang-migrate - database migrations (optional)

Run locally

Backend

  • 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

Frontend

  • 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

TODO

  • 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

About

An over-engineered note taking app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published