Simple link shortener web application
-
Frontend framework: Angular 19
-
Styles: PrimeNG 19 + Tailwind 3.4
-
Server: Go + Gin
-
Database: SQLite
gogoose(go package)docker(recommended)
Data inside server/env directory and server/.env file (TODO) are meant to be stored and modified outside the server container and mounted using volumes
$ cp server/.env.template server/.env
# TODO: additional configurationIf you are running the project for the first time you need to initialize sqlite3 database and apply migrations using goose. This database will be stored locally and passed to the server container
$ cd server
# Run goose go initialize database
$ go run github.com/pressly/goose/v3/cmd/goose@latest upThis will generate a server/env/database.db file with the latest schema
# Setup permissions
$ sudo chmod +x ./scripts/local-deploy.sh
# Build client and server containers and run them
$ ./scripts/local-deploy.shThis will create a copy of the development environment inside the deploy directory
Start server
$ cd server
$ go run .Start client
$ cd client
# Install dependencies
$ npm i
$ npm startAfter that open http://localhost:4200 in your browser
MIT
