Skip to content
 
 

Latest commit

 

History

128 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Management System with Facial Authentication

🚀 Get Started

Important

Make sure you have conda installed on your machine

Back-end

  1. Clone this project to your local environment

    git clone "https//github.com/Humen-debug/facial-auth-CMS.git"
  2. Create a virtual environment for required packages

    conda create -n face python=3
    conda activate face
  3. Installed required packages

    pip install -r src/FaceRecognition/requirements.txt
  4. Initialize tables on SQL

    source <path to FaceRecognition/facerecognition.sql>
  5. Configure variables in compiler environment

    export EMAIL_USER=[your email address]
    export EMAIL_PASSWORD=[your email password]
    export FLASK_APP=src.FaceRecognition.apis.py

    If you are blocked by the browser because of "low-security". please follow the instructions on https://github.com/twtrubiks/Flask-Mail-example

  6. Start server

    flask run
  7. (Optional) Generate data in SQL

    source <path to demo-data/course-generator.sql>
  8. (Optional) Maximize number of packets in SQL

    set global max_allowed_packet=67108864

Front-end

  1. Installed required packages

    npm install
  2. Start the app in the development mode. By default, the website will be listening on http://localhost:3000

    npm start

Tip

UPDATE (18/11/2022): USE CHROME for execution. Please download Allow CORS in https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en

Routine of our project

  1. Click "Sign up" Link at the bottom on Login Page
  2. Fill in the Register Form and click "Continue" button; At this point, our database will save your information and assume you enrolled all courses in our DB
  3. Click "Facial Register" for next "Facial Login" or "Skip" for email login
  4. Return to Login Page and choose your login method
  5. After login, there are one side drawer containing the routers to Profile Page, Home Page, Courses Page and Timetable Page
  6. On Home Page, you can do the following
    • check your login time and staying duration on the top
    • check class that will start within an hour
    • check your this week timetable
    • both timetable and upcoming class component allows you to
      1. send a copy of course information to your registered email; (an alert will pop up no matter success or fail)
      2. download all attached materials by clicking the block or "Download All" button;
      3. open zoom link by clicking if there is any attached zoom link;
      4. click the Course Name to enter Course Detail Page
  7. On Courses Page, you can do the following
    • click course card or course list tile to enter Course Detail Page
    • search, sort and filter your enrolled courses below with the toolbar
  8. On Course Detail Page, you can do the following
    • read course details, which includes general information, messages, and course materials
    • search and sort the teacher's messages and course materials respectively on tab panel
    • open zoom link or download materials by clicking the link
  9. On Profile Page, you can edit your personal information (an alert will pop up no matter success or fail after clicking "Save")

About

React Web-based App with Flask Backend for HKU COMP3278

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages