Generate priority-based timetables in seconds with FFCS-inator. The smartest way to plan your VIT FFCS. Pick your favorite faculties, set your subject and faculty priorities, and let FFCS-inator create the perfect clash-free timetable for you. Save your timetables for later, and easily share them with friends. No hassle. No stress. Just your ideal schedule, tailored to you.
- Next.js — Framework for React applications with server-side rendering and API routes.
- TypeScript — Static typing for safer, scalable JavaScript applications.
- Tailwind CSS — Utility-first CSS framework for rapid UI development.
- MongoDB — Database.
- ExcelJS — Library for creating and manipulating Excel spreadsheets in Node.js and the browser.
- pdfmake — Library for generating PDF documents dynamically in the browser and Node.js.
Faculty Listings by Domain, School, Subject, and Slot
- Search and explore a complete list of faculties, organized by school, domain, subject, and slot.
Automatic Timetable Generation
- Generate all possible clash-free timetables automatically using a smart 2D priority algorithm that considers your faculty and subject preferences.
Download Detailed Reports
- Export a comprehensive PDF report showing:
- All faculties possible for each subject
- Detailed clash information between selected slots and faculties
Save Timetables
- Save your generated timetables for future access and comparison.
Share Timetables Securely
- Share your timetable with others via a unique shareable link.
- Control privacy settings to make your timetable public or private as needed.
Interactive Slot View & Clash Detection
- Quickly visualize all available slots on a timetable grid.
- Once a slot is selected, conflicting slots are automatically blocked to prevent clashes and simplify your choices.
The repository has two branches, 'prod' and 'staging'.
prod (Production Branch) represents the live, user-facing version of the project where bug-free, well-tested code resides.
staging (Staging Branch) serves as a pre-production environment, where features and fixes are tested before they go live.
To get started, fork your own copy and clone your chosen branch. To clone a branch you can run the following:
Clone the 'prod' branch (production)
git clone -b prod https://github.com/CodeChefVIT/ffcs.git
OR
Clone the 'staging' branch (staging)
git clone -b staging https://github.com/CodeChefVIT/ffcs.git
Run these commands on your bash/terminal and open it in a code editor of your choice.
Run the following to install all the dependencies:
yarn install
To start your development server run:
yarn run dev
Before getting started, please ensure that the .env file is properly configured. The .env.example file has been provided for your reference, with examples of environment variables to be listed.
Made with ❤️ by CodeChef-VIT