Coder Social home page Coder Social logo

techrajat / iiitg-course-registration-website Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 9.37 MB

This project automates the course registration process for students at IIITG, eliminating the need for offline registration and manual elective allotments.

HTML 2.60% JavaScript 61.80% CSS 10.43% Python 25.18%
course-registration flask mongodb reactjs rest-api

iiitg-course-registration-website's Introduction

IIITG Course Registration

Project Overview

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.

Key Features

  • 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

Prerequisites

Technologies Used

  • Frontend: React.js
  • Backend: Flask
  • Database: MongoDB

Installation

Cloning and Configuration

  1. Clone the repository:
    $ git clone https://github.com/techrajat/IIITG-Course-Registration-Website.git
  2. Make an account on RazorPay and then obtain RazorPay API Key ID and Key Secret from the RazorPay Dashboard.
  3. 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)

Google OAuth Configuration

  1. Create a new project on the Google Cloud Console.
  2. Navigate to the client folder and rename .env.example to .env.
  3. 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)

Installation Steps

  1. Install frontend dependencies and build:
    $ cd .\IIITG-Course-Registration-Website\client
    $ npm install
    $ npm run build
  2. Install backend dependencies:
    $ cd .\IIITG-Course-Registration-Website\server
    $ pip install -r requirements.txt
  3. 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.

Run the Project

  1. Make sure that the MongoDB server is running.
  2. Start the server:
    $ cd .\IIITG-Course-Registration-Website\server
    $ python app.py
  3. Start the client:
    $ cd .\IIITG-Course-Registration-Website\client
    $ serve -s build

The application should now be accessible at http://localhost:3000

iiitg-course-registration-website's People

Contributors

techrajat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.