This project automates the course registration process for students at IIITG, eliminating the need for offline registration queues and manual elective allotments. It includes features for payment verification, elective preference management, and user roles for students, the finance section, and admins.
- Google authentication for student verification
- Automatic fetching of student details and mandatory course information
- Integration with RazorPay for payment processing
- Finance section for payment verification and registration approval
- Admin section for elective allotment based on CPI and preferences
- Algorithm for automatic elective allocation
- Frontend: React.js
- Backend: Flask
- Database: MongoDB
- Clone the repository:
$ git clone https://github.com/techrajat/IIITG-Course-Registration-Website.git
- Make an account on RazorPay and then obtain RazorPay API
Key ID
andKey Secret
from the RazorPay Dashboard. - Navigate to the root directory
IIITG-Course-Registration-Website
and rename.env.example
to.env
and set the following variables:mongodb_conn_string
="your-mongodb-connection-uri"Razor_key_id
="your-razorpay-key-id"Razor_key_secret
="your-razorpay-key-secret"Total_Fee
="18000.00" (Replace with the total fee)
- Create a new project on the Google Cloud Console.
- Navigate to the
client
folder and rename.env.example
to.env
. - Set the following variables in
.env
:GENERATE_SOURCEMAP
=false (Do not change this)REACT_APP_Google_Client_ID
="your-Google-OAuth-2.0-client-ID"REACT_APP_Razor_key_id
="your-razorpay-key-id"REACT_APP_Tuition_Fee
="10000.00" (Replace with tuition fee)REACT_APP_Hostel_Fee
="3000.00" (Replace with hostel fee)REACT_APP_Mess_Fee
="5000.00" (Replace with mess fee)REACT_APP_Total_Fee
="18000.00" (Replace with total fee)
- Install frontend dependencies and build:
$ cd .\IIITG-Course-Registration-Website\client $ npm install $ npm run build
- Install backend dependencies:
$ cd .\IIITG-Course-Registration-Website\server $ pip install -r requirements.txt
- Set up the MongoDB database:
$ cd .\IIITG-Course-Registration-Website # For MongoDB local server $ mongorestore --db IIITG --drop --dir Sample_Database # Or, for MongoDB Atlas $ mongorestore --db IIITG --uri "your_connection_uri" --drop --dir Sample_Database
- Replace some of the fake email IDs with original ones in the following collections:
- "Admin"
- "Finance-Section"
- "RegStatus"
- "Students"
- Now you can login using these email IDs in the project.
- Replace some of the fake email IDs with original ones in the following collections:
- Make sure that the MongoDB server is running.
- Start the server:
$ cd .\IIITG-Course-Registration-Website\server $ python app.py
- Start the client:
$ cd .\IIITG-Course-Registration-Website\client $ serve -s build
The application should now be accessible at http://localhost:3000