This repository is my team project to make an vote taking system, that will be used for Pemilos.
So here are some several components that will be used in this project:
- TypeScript, one of static typing language good for defensive programming.
- ExpressJS, popular framework that gives soooooo much control.
- MongoDB, for performance MongoDB is pretty good.
- Mongoose, work fast.
- Redis, rate limiting and caching.
- Redlock, lock to prevent race condition (yes it is overkill).
- Docker, containerize the code.
- Docker compose, for infrastructure testing and management.
- Pusher, third party websocket.
- OTel, Grafana (not yet confirmed, but i really want to use it)
- Winston for logging, logs can be found at: /src/logs (it automatically creates after system start)
- Work with the frontend.
Since the frontend is in the different repo. You need to clone it first at: https://github.com/algazza/pemilos-frontend