Skip to content

Web app for shared desk reservation created with Django and Vue.js

Notifications You must be signed in to change notification settings

dominikbullo/ShareDesk

Repository files navigation

Share Desk

Diploma thesis

Development

Installation

Install Docker and Docker-Compose. Start your virtual machines with the following shell command:

docker-compose up --build

If all works well, you should be able to create an admin account with:

docker-compose run --rm backend python manage.py createsuperuser

Adding package to pipenv

After adding, run docker-compose up --build

Database

Migrations

docker-compose run --rm backend python manage.py makemigrations

docker-compose run --rm backend python manage.py migrate

Reset migrations

https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html

  1. Drop cascade
  2. Remove migrations from folder
  3. docker-compose run --rm backend python manage.py makemigrations <app_name>
  4. docker-compose run --rm backend python manage.py migrate --fake <app_name> zero
  5. docker-compose run --rm backend python manage.py migrate <app_name>

Manual backup

From dir where you want to back up file, ideally /tmp/backups to match docker-compose

docker run --rm -v "$PWD:/backups" -u "$(id -u):$(id -g)" -e POSTGRES_HOST=host.docker.internal -e POSTGRES_DB=share_desk -e POSTGRES_USER=postgresuser -e POSTGRES_PASSWORD=mysecretpass prodrigestivill/postgres-backup-local /backup.sh

docker run --rm --tty --interactive -v $BACKUPFILE:tmp/backups/daily/share_desk-20220322.sql.gz postgres:$VERSION /bin/sh -c "zcat tmp/backups/daily/share_desk-20220322.sql.gz | psql --host=host.docker.internal --username=postgresuser --dbname=share_desk -W

Deploy app

For production you'll need to fill out .env file and use docker-compose-prod.yml file:

$ docker-compose -f docker-compose-prod.yml up --build -d

The app will then be available at http://localhost

Built With

Versioning

I use Conventional versioning for versioning style with combination of standard version utility . For the versions available, see the Releases on this repository or if you need more details you could check you Tags on this repository.

You could also see all changes in CHANGELOG file with detail changes.

New version

Must have a node installed and then run command: standard-version

Authors

  • Dominik Bullo - Initial work - bullo.sk

License

This project is licensed under the GPL License - see the LICENSE file for details

Assignment

  1. Analýza požiadaviek na systém.
  • 1.1. Používatelia rôznych typov (zamestnanec, administrátor)
  • 1.2. Prihlásenie/Registrácia používateľov
  • 1.3. Rozdeľovanie zamestnancov do tímov
  • 1.4. Správa zdieľaných pracovných miest s vizuálnou reprezentáciou miest a dispozícií priestorov.
  • 1.5. Priraďovanie miest tímom ale aj jednotlivým zamestnancom (majú nárok na stále prac. miesto)
  • 1.6. Možnosť realtime vizualizácie obsadenosti prac. miest.
  • 1.7. Rezervovanie prac. miest s pol dnovou granularitou.
  • 1.8. Možnosť reportovať technické alebo iné problémy spojené s pracovným miestom.
  1. Analýza nefunkcionálnych požiadaviek, výber vhodných technológii (implementačný jazyk, framework, databáza)
  2. Implementácia, otestovanie a produkčné nasadenie
  3. Vyhodnotenie prínosov

About

Web app for shared desk reservation created with Django and Vue.js

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published