A free, open-source exam scheduler and management system.
About • Features • Development • Contributing • License • Support on Flavortown
Examduler is a free, open-source exam scheduler and management system. Exam, seating, and invigilation management all in one.
- AI exam summaries Students get AI assisted overviews powered by local models1
- Clean and minimalist homepage for viewing exams Take a quick glance at all your exams in a Material You themed homepage
- Invigilation management. Assign teachers to exams instantly^
^ Coming soon 1 Only works on certain browsers
Before development, please ensure you have the following installed:
- Node.js (Running the website and server)
- Clone the repository
git clone https://github.com/ingStudiosOfficial/examduler.git
cd examduler
- Clone the .env.example file for the website and server
cd website
copy .env.example .env a/
cd ../server
copy .env.example .env a/
- Setup MongoDB Atlas
Create a MongoDB Atlas database and cluster called examduler. Get the Node.js driver connection string. Paste the MongoDB connection string (MONGODB_URI) in your server/.env file.
- Install Node.js packages
cd website
npm install
- Setup Google OAuth
Create a new project in Google Cloud Console. Go to APIs & Services > OAuth Consent Screen > Clients and create a new Web Client. Add your app details. Set your callback and JavaScript origin URLs. Get your Google client ID and secret (GOOGLE_CLIENT_ID AND GOOGLE_CLIENT_SECRET) and add them to server/.env. Set your callback URL (GOOGLE_CALLBACK_URL) in server/.env too.
- Add secrets in .env
Go to website/.env and set your VITE_API_BASE_URL (where your server is located).
Go to server/.env and set your CLIENT_URL (where your website is located). Set your PORT (your development port, e.g. 3000), NODE_ENV to development, set your JWT_SECRET_KEY and SESSION_SECRET to a secure randomly generated key.
- Run the development build of the website
cd website
npm run dev
- Run the development build of the server
cd server
npm run dev
- Build the website
cd website
npm run build
- Build the server
cd server
npm run build
We welcome contributions! See CONTRIBUTING.md for more details.
Examduler is licensed under the Apache 2.0 License. See LICENSE for more deatils.
© 2025 (ing) Studios and Ethan Lee
