/todo-app

todo app - semester project

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0


Logo

ToDo List

An awesome way to track your todos

Documentation

see documentation.pdf

Kubernetes deployment with ArgoCD

see todo-deployment

Prepare environment

Execute the following command to create the necessary environment variables:

./generate_env.sh

Getting started (dev)

  1. Prepare environment
  2. Start backend (see README)
  3. Start frontend (see README)

Credentials for Login

email password
admin@todo.com admin
john.doe@todo.com johni

Links

Run production

  1. First prepare environment
  2. Start all container
    # build frontend and backend
    docker compose -f docker-compose-prod.yml build
    
    # start all services
    docker compose -f docker-compose-prod.yml up -d
    
    # (only first time: seed database with initial data)
    docker compose exec -it backend /bin/sh /app/migrate.sh

Credentials for Login

email password
admin@todo.com see .env -> ADMIN_PASSWORD
john.doe@todo.com see .env -> USER_PASSWORD

After preparing your environment, see .env.

Links

Decisions

  • mono repository
  • todo app
  • feature based development

Technologies

Backend

  • express: 4.18
  • swagger
  • postgresql: 15.2
  • redis
  • jsonwebtoken
  • prisma: 4.11
  • some helper libraries (ms, tslog, datejs, class-validator, types for typescript, cookie-parser, axios)

Frontend

  • vue: 3.2
  • pinia: 2.0 (vue 3 state management)
  • tailwindcss with preline
  • axios
  • heroicons
  • nginx (frontend server for production)

Other

  • docker
  • traefik (reverse proxy)

Authors

  • Hannes Ziereis
  • Lucas Schießl
  • Christoph Herb