🚧🚧🚧🚧 Work in Progress 🚧🚧🚧🚧
- Written in modern React with hooks using only functional components.
- Simple local state management with React and Apollo Graphql (no Redux or similar).
- Project fully written in TypeScript.
- Full user authentication system.
- Persistent drag-and-drop ranking system.
- Custom server interfacing a PostgreSQL database for accounts and ratings persistence, a Redis sessions cache, and connections to a third party API.
- Deployment pipeline using GitHub Actions with automated testing, linting and Docker image building and publishing.
- Docker images optimization (e.g.: reduced backend image size from 1.23 GB to 189 MB with a multi-stage build).
- Project deployed to production using Vercel and a self-managed Digital Ocean Ubuntu droplet running Docker virtual machines.
- Mobile friendly design: due to the structure of the drag-and-drop system, a custom, mobile-specific, responsive rating module for "My Library" needs to be built from scratch.
- Lexorank implementation for efficient Drag and Drop persistence.
- Streamline production automation for PostgreSQL migrations.
- Updated tests for the most recent features.