A web application designed to streamline the elective course selection process for final and pre-final year students at MITS college. The system ensures efficient registration and smooth slot allocation while handling high traffic effectively.
This application simplifies the elective selection process by enabling students to:
- Register using their college email ID, username, and register number.
- Browse and search for electives within their respective branches.
- Book slots for desired courses, with each course having a maximum of 60 seats allocated on a first-come, first-serve basis.
- Student Registration: Students can register using their college-provided credentials.
- Branch & Course Selection: Users can explore and select courses from their branch.
- Slot Allocation: Each course has 60 slots available, allocated on a first-come, first-serve basis.
- Traffic Handling: Optimized for smooth performance, reducing the likelihood of crashes during peak times.
- Cloud-Focused Architecture: Designed for scalability and reliability using cloud-based services.
- Frontend: React with Vite
- TypeScript: Ensures type safety and robust development practices
Ensure you have the following installed before setting up the project:
- Node.js
- Vite
- React
Follow these steps to get started:
- Clone the repository:
git clone https://github.com/Cloud-Tech-Team/open-elective.git cd open-elective
- Install dependencies:
npm install
- Start the development server:
npm run dev
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
}
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list