Skip to content

Repository files navigation

tinier

a slightly complex url shortener to learn backend with go using echo sqlc sqlite and templ while also learning the basics of docker and redis

register

Screenshot-20260803-104237.png

login

Screenshot-20260803-104354.png

dashboard

Screenshot-20260803-131043.png

statistics

Screenshot-20260803-131142.png

  1. to build for prod
docker compose up --build
  1. to build for dev
docker compose -f docker-compose.dev.yml up --build
  1. available routes
  • /register:POST
  • /login:POST
  • /logout:POST
  • /verify/:id:POST
  • /all:GET
  • /:id:GET
  • /delete/:id:GET
  • /server/data/:id:GET
  • /server/clicks/:id:GET
  • /:POST
  • /create:POST
  1. schema definitions
users:
    - id INTEGER PRIMARY KEY
    - username TEXT UNIQUE NOT NULL
    - email TEXT UNIQUE NOT NULL
    - hash_password TEXT NOT NULL

links:
    - id INTEGER PRIMARY KEY
    - short_id TEXT UNIQUE NOT NULL
    - orig_url TEXT NOT NULL
    - expiry DATETIME NOT NULL
    - link_password INTEGER NOT NULL
    - is_protected INTEGER NOT NULL DEFAULT 0
    - user_id INTEGER NOT NULL REFERENCES accounts(id)


linkdata: 
    - id INTEGER PRIMARY KEY
    - access_time DATETIME DEFAULT CURRENT_TIMESTAMP
    - clicks INTEGER UNIQUE
    - user_device TEXT NOT NULL
    - link_id INTEGER UNIQUE NOT NULL REFERENCES links(id)

clickevents: 
    - id INTEGER PRIMARY KEY
    - access_time DATETIME DEFAULT CURRENT_TIMESTAMP
    - clicks INTEGER UNIQUE
    - browser TEXT NOT NULL
    - os TEXT NOT NULL
    - link_id INTEGER UNIQUE NOT NULL REFERENCES links(id)

made with minima

About

for learning more concepts regarding backend

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages