Skip to content

raus376/ExamManagementPlatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 

Repository files navigation

ExamManagementPlatform

The Exam Portal is a web application built using Spring Boot for the backend, Angular for the frontend, MySQL for the database, and deployed on AWS. It provides a user-friendly interface for managing exams, ensuring high performance, scalability, and security. AWS enables easy deployment, scalability, and reliability of the application.

Author - @Raushan Kumar

Examify_home

ER Diagram

The following Diagram depicts the flow of our Entity Relation Diagram to simplify the work flow.

Examify_ER-Diagram



Implemented Frontend as well as REST API for Exam Management System

Features

Admin/Organization Access

  • Examify is an innovative platform designed for efficient exam management.
  • It offers a user-friendly interface and powerful features.
  • The platform simplifies the entire exam management process, from creating schedules to grading and result management.
  • Key features of Examify Portal include an Admin Dashboard.
  • The Admin Dashboard allows administrators to create, update, and delete categories.
  • Within each category, administrators can add, update, delete, and view quizzes.
  • Quizzes can be activated as live or disabled.
  • Administrators can add, delete, and update questions within each quiz.
  • Administrators can view their profile details.
  • Overview pages provide a single-page view of all categories and quizzes.
  • The admin has authorization to access all services in the platform.

  • Participant Access

  • Participants can view available quizzes and select one to attempt.
  • Each quiz has a time limit and maximum marks.
  • Participants can choose quizzes by scrolling through the dashboard or filtering by categories.
  • They can view details of a selected quiz, including questions and maximum marks.
  • Participants can attempt quizzes multiple times.
  • To attempt a quiz, they start answering questions within the time limit, and the quiz is automatically submitted when time ends.
  • After attempting a quiz, participants can view their result and it can be saved as a PDF.
  • They can also review past attempted quizzes and their results.
  • Participants can view and update their profile details.
  • General instructions include not refreshing or minimizing the page, completing tasks within the time limit, and following instructions carefully.
  • Participants should read questions thoroughly, submit answers in the specified format if required, and ask for clarification if needed.
  • There are no right or wrong answers, and participants should have a positive attitude and enjoy the activity.
  • Team Members 👨‍💻

    Tech Stack

    • Java
    • Spring Framework
    • Spring Boot
    • Spring Data JPA
    • Hibernate
    • MySQL
    • Postman
    • Swagger UI
    • Angular
    • Typescript
    • Material-UI
    • HTML
    • CSS

    Modules

    • Register,Login, Logout Module
    • Category Module
    • Quiz Module
    • Question Module
    • Answer Module
    • User Module
    • Auth Module
    ## Documentation
    
    SWAGGER UI Documentation - `http://localhost:8888/swagger-ui/`
    ExamifyServer Documentation -`http://35.154.65.143:8888`
    ExamifyClient Documentation -`http://examify.s3-website.ap-south-1.amazonaws.com/`
    
    

    Deployed On AWS

  • The Examify project was deployed on AWS using an EC2 instance, an S3 bucket, and an RDS (Relational Database Service).
  • The ExamifyServer, which is the backend of the application, was deployed on an S3 bucket.
  • The ExamifyClient, which is the frontend of the application, was also deployed on an S3 bucket.
  • An Elastic IP was associated with the EC2 instance, providing a static public IP address.
  • The Elastic IP was used as the base URL for the ExamifyClient, allowing access to the frontend application.
  • The EC2 instance hosted the ExamifyServer and served as the backend for handling API requests.
  • The S3 bucket stored and served the ExamifyServer and ExamifyClient files, ensuring reliable and scalable content delivery.
  • The RDS was used as the database for the application, storing data such as user profiles, quiz details, and results.
  • Installation & Run

    • Before running the API server, you should update the database config inside the application.properties file.
    • Update the port number, username and password as per your local database config.
        # On Development mode
    
        server.port=8888
    
        spring.datasource.url=jdbc:mysql://localhost:3306/mydb;
        spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
        spring.datasource.username=root
        spring.datasource.password=root
    
    
     # production environment configuration
    
        spring.datasource.url=jdbc:mysql://examify.cx7ftd0tzrir.ap-south-1.rds.amazonaws.com:3306/examify
        spring.datasource.username=raus376
        spring.datasource.password=*******
        spring.jpa.show-sql=true
    
    

    API Root Endpoint

    http://examify.s3-website.ap-south-1.amazonaws.com/

    About

    The Exam Portal is a web application built using Spring Boot for the backend, Angular for the frontend, MySQL for the database, and deployed on AWS. It provides a user-friendly interface for managing exams, ensuring high performance, scalability, and security. AWS enables easy deployment, scalability, and reliability of the application.

    Topics

    Resources

    Stars

    1 star

    Watchers

    1 watching

    Forks

    Releases

    No releases published

    Packages

     
     
     

    Contributors