Skip to content

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.

Notifications You must be signed in to change notification settings

raus376/ExamManagementPlatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

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

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published