A full-stack online election system with separate frontend and backend.
election/
├── frontend/ # Next.js frontend
│ ├── app/ # Pages (App Router)
│ ├── components/ # React components
│ ├── lib/ # Utilities
│ ├── store/ # Zustand state
│ └── types/ # TypeScript types
│
├── backend/ # Express + Prisma backend
│ ├── src/
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ ├── repositories/ # Database access
│ │ └── middleware/ # Auth & errors
│ └── prisma/ # Database schema
│
└── .toh/ # Toh Framework config
cd frontend
npm install
npm run devcd backend
npm install
npm run db:generate
npm run devAPI runs at http://localhost:4000
Frontend:
- Next.js 14 (App Router)
- Tailwind CSS + shadcn/ui
- Zustand (State)
- React Hook Form + Zod
Backend:
- Express.js
- Prisma ORM
- PostgreSQL (Supabase)
- JWT Authentication
- 🗳️ Online voting system
- 👥 User roles: Admin, EC, Voter
- 🏛️ Party & candidate management
- 📊 Real-time results
- 🔒 Secure authentication