Skip to content

SmartQuiz is a web application that allows learners to improve their knowledge and memory through a multiple-choice learning system. With convenient features to create custom question sets and share them with others, learners can connect with peers and learn together. The application also integrates effective learning methods to help students learn

License

Notifications You must be signed in to change notification settings

peterndta/SmartQuiz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  SmartQuiz

SmartQuiz SmartQuiz

SmartQuiz is a web application that allows learners to improve their knowledge and memory through a multiple-choice learning system. With convenient features to create custom question sets and share them with others, learners can connect with peers and learn together. The application also integrates effective learning methods to help students learn more efficiently.

✨ Features

  • Create and share your own question sets with other learners
  • Connect with other learners and join study groups
  • Gamification features to make learning fun and engaging
  • Effective learning methods to help learners memorize and increase reflexes when facing questions
  • Customizable settings for learners to adjust to their learning style
  • Clean and modern user interface for ease of use

⚙️ Technology

  • Frontend
    • React - A JavaScript library for building user interfaces
    • Redux-toolkit - State Management
    • Mui - Material UI design
  • Backend
    • Firebase - Storage.
    • Microsoft SQL Server - Database Engine/Server.
    • ORM - Entity Framework with DB First Approach

🚀 Getting Started

To run SmartQuiz locally, you will need to have the following tools installed:

  • Node.js
  • .NET 6 SDK
  • Visual Studio Code (or any other code editor)
  • Microsoft SQL Server 2019 (or any other DBMS)

After cloning the repository, setup Database and connection to run locally:

  • Import Data-tier Application MSSQL2019_SmartQuiz.bacpac or run SmartQuiz.sql script, both provided in DBSQL folder, noted that all data is mock.
  • Config Server, Database, uid, pwd at:
    • ./SmartQuizApi/SmartQuizApi/appsettings.json
    • ./SmartQuizApi/SmartQuizApi/Data/Models/DbA95102SmartquizContext.cs
  • Change Redirect to http://localhost:3000 to be able to login locally:
    • Line 60: ./SmartQuizApi/SmartQuizApi/Controllers/AuthenticationController.cs

When finish Database setup, navigate to the project's root directory and run the following commands:

  1. Install the required dependencies by running yarn in front-end folder.
  2. Start the frontend in front-end folder by running yarn start.
  3. Start the backend in SmartQuizApi folder by running dotnet run.
  4. Access the application by navigating to http://localhost:3000 to see the application running.

📦 Deployment

SmartQuiz is deployed using Google Cloud and Railway for the backend, and Vercel for the frontend. The deployment process is automated and scalable, ensuring that the application is always available and performant. Access Vercel Frontend: https://smart-quiz.vercel.app/

    

👀 Preview

Admin Dashboard

admin dashboard

Login

home

Home

home

Class

my class class details class member create class update class

StudySet

my studyset class details update class create class create popup search studyset search studyset

Upgrade Account

create class create popup

Testing feature

create class create popup create popup

Learning feature

Standard

standard-learn

Premium

premium-learn


Contributing

If you are interested in contributing to SmartQuiz, please feel free to submit a pull request or create an issue. We welcome all contributions and are happy to work with you to improve the application.

License

SmartQuiz is licensed under the MIT license. You are free to use, modify, and distribute the application as you see fit. Please see the LICENSE.md file for more information.

About

SmartQuiz is a web application that allows learners to improve their knowledge and memory through a multiple-choice learning system. With convenient features to create custom question sets and share them with others, learners can connect with peers and learn together. The application also integrates effective learning methods to help students learn

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.2%
  • C# 22.3%
  • Other 0.5%