GithubHelp home page GithubHelp logo

fbla-quiz's Introduction

FBLA Quiz App

Quiz website about interesting facts from FBLA

Run

To run this program locally follow these steps:

  1. Make sure you have the most recent version of Go installed.
  2. Make sure you have NPM installed
  3. Make sure you have MongoDB installed and copied the most recent version of the database over.
  4. Run the following Go command: go run backend/main.go
  5. Cd into the frontend directory and then run ng serve --open

Structure

This is how everything is structured


Backend

Corresponds to Uncle Bob's clean architecture. Every component (e.g. users, questions, etc) has the following components.

  • driver (third party implementations, for example MongoDB interactions)
  • entities (structs or entites, for example the struct User)
  • usescases (business logic)
  • http.go (routing logic)

Errors are handled through Slugs in the errorCodes folder.

Frontend

All main data is under the app folder

  • auth folder contains all authentication related services, interceptors, and types as well as auth related screens.
  • dashboard folder contains the dashboard view code
  • questions folder contains all of the different question types and the quiz view
  • results folder contains the results view code.

#Deployment


Backend

  • save all .go files
  • run: gcloud builds submit --tag gcr.io/fbla-quiz-298419/backend
    • this builds the docker image using Google Cloud Build and deploys it to Google's docker image registry.
  • run: gcloud run deploy --image gcr.io/fbla-quiz-298419/backend --platform managed
    • this deploys the docker image to Cloud Run

##Frontend

  • run: npm install
  • run: ng build --prod
  • run: gcloud builds submit --tag gcr.io/fbla-quiz-298419/frontend
    • just the same as with backend builds a Docker image.
  • run: gcloud run deploy --image gcr.io/fbla-quiz-298419/frontend --platform managed
    • again like backend this deploys the Docker image to Cloud Run

#Sources & Citations Questions adapted from:

  1. https://quizizz.com/admin/quiz/5bb263bbe3b68d001a6efd77/fbla-trivia-20192020
  2. https://quizlet.com/61010653/fbla-trivia-questions-flash-cards/

fbla-quiz's People

Contributors

gabrielmcreynolds avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.