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.
- 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
- 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
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 runSmartQuiz.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
- Line 60:
When finish Database setup, navigate to the project's root directory and run the following commands:
- Install the required dependencies by running
yarn
in front-end folder. - Start the frontend in front-end folder by running
yarn start
. - Start the backend in SmartQuizApi folder by running
dotnet run
. - Access the application by navigating to
http://localhost:3000
to see the application running.
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/
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.
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.