⚠️ This is just a fun project for a portfolio. No contributions accepted / expected. Thank you!
A full-stack web application to manage fictional video rental stores across the globe.
The platform allows store owners to manage users, customers, inventory, and rentals in a centralized system.
- Multi-store management
- User and customer administration
- Inventory and rental tracking
- Secure API with Fastify backend
- React-based frontend with Vite (dev) / Serve (prod)
- Centralized secrets management with Infisical
- Local mail testing with Mailpit
- Domain-based routing and TLS via Caddy
- Frontend: React, Vite / Serve
- Backend: Fastify, Node.js
- Database: PostgreSQL
- Proxy: Caddy
- Secrets: Infisical
- Mail: Mailpit
- Containerization: Docker + Docker Compose
Clone the repo and start all services using Docker Compose with overrides for development.
Start all services: docker compose -f compose.yml -f compose.override.yml up --build
Frontend will be available at http://localhost:3000 (dev) or https://videostore.localhost (via proxy).
Backend API at http://localhost:3333 (direct) or https://api.videostore.localhost (via proxy).
In production:
- Frontend bundled and served via
serve. - Backend runs in production target.
- Caddy handles TLS and domain routing.
- Infisical injects secrets into backend and database.
This project is for educational and demonstration purposes.
See LICENSE for details.
