Skip to content

CodeChefVIT/ffcs

Repository files navigation

FFCS-inator

FFCS-inator

FFCS-inator - CodeChef VIT

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.

Tech Stack

  • 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.

Features

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.

Get Started

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.

License

License

Meet the Team

Meet the Team

CodeChef-VIT

Made with ❤️ by CodeChef-VIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 17

Languages