/demo

KEBER, a encryption based result viewing system

Primary LanguageHTML


Logo

KEBER

Asymetric Key based Result Viewing/Verifying Sytem

About The Project

Product Name Screen Shot

A website for Result Viewing / Verifying
KEBER allows you to have different roles such as Admin, Student or Verifier

Admin

  • Uploads results of the students

Student

  • View/Download the result

Verifier

  • Verify the authencity of the result

Technologies Used

FrontEnd

BackEnd

Screenshots

Thoughts behind the project

  • After the failed attempt to get started with Web - Devlopment during Web Month, we decided to give it another try and add Web Development as anothe r skill in our skillsket

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

The softwares that must be present on users PC to efficiently run this project

  • NodeJS

    https://nodejs.dev/download
  • MySQL

    https://dev.mysql.com/downloads/mysql/

Installation

  1. Clone the repo

    git clone https://github.com/anshkush92college/demo.git
  2. Go to Elephant SQL and create your database there

    CREATE TABLE newsletter 
    (
        emails VARCHAR(255) PRIMARY KEY
    );
    
    CREATE TABLE contact_us 
    (
        name varchar(255), 
        email varchar(255), 
        phone_number varchar(11), 
        subject varchar(1000), 
        message varchar(2000)
    );
    
    CREATE TABLE admin_login (
        email varchar(255) PRIMARY KEY,
        password varchar(255)
    );
    
    CREATE TABLE admin_upload
    (
        semester_number int, 
        roll_number varchar(11), 
        file_path varchar(2000),
        PRIMARY KEY (semester_number, roll_number)
    );
    
    CREATE TABLE student_sign_up 
    (
      email varchar(255), 
      roll_number varchar(11),
      PRIMARY KEY (email, roll_number)
    );
    
    CREATE TABLE student_view_result 
    (
      semester_number int, 
      roll_number varchar(11), 
      file_path varchar(2000),
      PRIMARY KEY (semester_number, roll_number)
    );
    
    CREATE TABLE verifier_verify_result 
    (
      semester_number int, 
      roll_number varchar(11),
      file_path varchar(2000),
      PRIMARY KEY (semester_number, roll_number)
    );
  3. Navigate to demo/Backend in your cloned folder then in there create an .env file

     email="sender's_email"
     password="sender's_password"
     database_url="your_elephant_sql_URL"

    You may run into this error when sending emails via nodemailer

  4. After creating the .env file with all configuration, now open the terminal and in that navigate to demo/Backend

    cd "path/demo/Backend"
  5. After navigating to demo/Backend on terminal, now run

    npm install

    to install all dependencies and then run

    npm start

    to start the server and then on your browser open

    localhost:3000/

What's Next

  • Implement the Authentication and Authorization
  • Use the Concept of Asymetric Key to view and verify the result
  • 2 Factor Authentication for Students
  • Prevent SQL Injection as no Authentication and Authorization is implemented yet

Team Members