Modern Real Time Election Management System built with Next.js, Express, and WebSocket technology! π
- π Real-time Updates: Live voting progress with WebSocket integration
- π― Drag & Drop Interface: Intuitive member assignment to voting stands
- π Role-Based Access: Secure access control for different user types
- π Live Results: Instant visualization of voting outcomes
- ποΈ Admin Dashboard: Comprehensive election management tools
- π± Responsive Design: Works seamlessly on all devices
- Frontend: Next.js + Material-UI
- Backend: Express.js + Socket.IO
- Database: MongoDB
- Build Tool: Nx
- Language: TypeScript
Prerequisite:
You need Docker installed.
Start a MongoDB database instance (in the background) with:docker run --name mtes-mongo -p 27017:27017 -d mongo:7.0.5
- Clone & Install
git clone https://github.com/TheCommandCat/mtes.git
cd mtes
npm install-
Configure Environment Variables
Create a
.envfile in theapps/backend/directory and set aJWT_SECRET:cp .env.example apps/backend/.env # Then, edit apps/backend/.env and set JWT_SECRET -
Run Development Server
npm run devDeploy the application swiftly using Docker Compose. π Ensure Docker is running.
Important
Before launching, configure your environment variables. The backend service needs an apps/backend/.env.local file (copy apps/backend/.env if needed). The JWT_SECRET is crucial. β¨
Run this from the project root:
docker-compose up -dThis builds and starts frontend and backend services in detached mode.
Access:
- Frontend:
http://localhost:4200π₯οΈ - Backend API:
http://localhost:3333βοΈ
To stop:
docker-compose downHappy deploying! π
mtes/
βββ apps/
β βββ frontend/ # Next.js application
β βββ backend/ # Express server
βββ libs/
β βββ database/ # MongoDB models
β βββ types/ # Shared types
β βββ utils/ # Common utilities
- Fork the repo
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GPL-3.0 License. It utilizes a similar tech stack and codebase inspired by FIRSTIsrael/lems; π thank you for making this possible! π
Made with β€οΈ by @TheCommandCat