Skip to content

sean-oneal/math-dojo

Repository files navigation

📓 💯 Math Dojo

Math Dojo mockup

A responsive, secure and interactive quiz application built for the classroom.

👥 Team

✨ Table of Contents

  1. Team
  2. Usage
  3. Requirements
  4. Development
    1. Installing Dependencies
    2. Tasks
    3. Tech Stack
  5. Screenshots
  6. Contributing

🎉 Usage

Math Dojo was developed and tested to be used from a mobile device, as well as on a desktop or laptop. A valid and working Google Account is required for Teachers to login. To start using Math Dojo, go to localhost:3000 in your browser.

‼️ Requirements

  • Node
  • MongoDB
  • A valid Google Account

🚧 Development

Installing Dependencies

From within the root directory:

npm install

⚠️ Tasks

  1. Open a separate terminal tab/window and launch mongod:
mongod
  1. From within the /teacher directory:
../node_modules/.bin/webpack -d --watch
  1. From within the /student directory:
../node_modules/.bin/webpack -d --watch
  1. From within the root ~/ directory, start server and webpack:
npm start
  1. Alternatively, only have webpack watch:
npm run dev

Load the database with dummy data:

npm run db

Clearing the Database:

npm run reset

Production Build

npm run build

✅ Tech Stack

The application was built using the MongoDB, Express, React/Redux, Node (MERN) stack, and incorporates the following technologies:

  • React
  • React Router
  • Redux
  • Express
  • Mongoose
  • Webpack
  • PassportJS
  • Google OAuth 2.0
  • bCrypt
  • Axios
  • Express Sessions
  • Bootstrap
  • React Bootstrap
  • Chart.js
  • Morgan
  • jQuery

💻 Screenshots

Teacher Application

  • Login Screen

    Math Dojo Mockup
  • Google OAuth Verification

    Math Dojo (Mobile) Google OAuth 2.0 Login
  • Responsive Dashboard

    Math Dojo Teacher Add Student
  • Dashboard Drop-down

    Math Dojo Teacher Sign Out

Student Application:

  • Login

    Math Dojo Student Login
  • Desktop Dashboard

    Math Dojo Student Dashboard
  • Wrong Answer

    Math Dojo Student Wrong Answer

Contributing

See CONTRIBUTING.md for contribution guidelines.