GeoQuiz is a full stack MERN application that allows users to test their
geographical knowledge by identifying countries on a map.
This application utilizes React.js, Node, an Express Web Server, and more!
It is backed by a MongoDB database and allows for the authentication of users
with a folder structure that meets MVC paradigm.
As a MIDDLE SCHOOL STUDENT,
I WANT an app that tests my geography knowledge
SO THAT I can get better at identifying countries on a map.
WHEN I select a continent from the table
THEN I am presented with the name of the continent, a map of the continent, and a question is asking for a specific country’s location
WHEN I complete the quiz
THEN I am presented with the Results Page which shows which questions I got correct/incorrect and facts for each country
Assumes local installation of Node.js To run the project locally:
- This folder setup allows for a Node/Express/React/JWT app
- Add a .env at the top level of this project.
- Then inside of the .env add a SERVER_SECRET set to any value you'd like
- Ensure you have a local version of MongoDB running on your machine.
- This project will make a local database for you called
geoquizDB
. - Installing front and backend dependencies. While in the root directory, run:
npm install
- After all installations complete, run:
npm start
- View the app running on http://localhost:3000.
- Enjoy and learn!
- Go onto your heroku account and link your repository through the UI
- Go to resources and find mLab as a Add-on
- Provision a Mongo Database
- Go back and click "Deploy"
Technologies | Utilized |
---|---|
Google-Maps-React | React-Geocode |
jwt-decode | React |
react-dom | react-router-dom |
react-scripts | AXIOS |
JavaScript | jQuery |
React-Bootstrap | Mongoose |
Morgan | Travis CI |
SweetAlert | bcrypt |
dotenv | Express |
Express-jwt | jsonWebToken |
node-fetch | eslint |
Google Maps API | Back4apps API |
AuthService | nodemon |
Reach out to us with any questions!