Skip to content

espretto/coworking

Repository files navigation

Co-working Space

This is a showcase project to bring together a number of different technologies in a hexagonal architecture:

Django, DRF (RESTful API), VueJS, Leaflet, Postgres, Nginx, Gunicorn, Docker

Roadmap

  • develop application features
    • represent offices, reservations and clients
    • design and implement a RESTful API for them
    • connect to kafka/rabbitmq message broker
    • offload pdf bill generation to worker queue
    • mount document storage for authenticated uploads
  • frontend using VueJS
    • about page presenting the project
    • registration and authentication functionality
    • map view with leaflet for local workspaces
    • overview: tabular calendar for office/desk reservations
    • detailed view: reservation, office
  • setup CI to automate the following tasks
    • linting flake8
    • quality control with lumnify
    • unit/integration tests
    • test coverage reports
    • performance regression tests
  • dockerize the following containers
    • production server for django application
    • nginx front server
      • reverse-proxy for api-calls
      • serve static files for client interface
      • serve file uploads and authenticate using nginx auth module
    • postgresql database
      • generate fixtures with mockaroo
      • create indices where necessary
      • duplicate the instance setup log-sharing
    • message/task broker
    • worker instance[s] to offload tasks
      • automate process restart on error
  • setup storage cluster for data volumes (SCSI)
  • make the number of workers adapt to the number of tasks
  • test behaviour of component outage

Issues

  • do not expose object ids but, use slugs where available

Resources

Notes

Geographic centre: 47.21627/-1.54936