Skip to content

BloomTech-Labs/sorting-hat-fe

Repository files navigation

Maintainability Test Coverage

Tech Sorting Hat

You can find the deployed project at AWS.

Contributors

Arin Ramer Tomas Ortiz Jacob Prudent Braden Bell
Fullstack Developer Fullstack Developer Fullstack Developer Fullstack Developer
Aaron Janovitch Ryan Brink Justin Andrade Monique Soto
Fullstack Developer UX Developer Section Lead Team Lead

MIT React styles code style: prettier Deployed Testingcypress State Management

Project Overview

Trello Board

Product Canvas

UX Design files

Team Email
Account: [email protected]
Password: Lambdalabs22.

Google analytics account details
User: [email protected]
Password: sortinghat1!

Here’s the AWS info for the Sorting Hat project. The login URL is https://655955459246.signin.aws.amazon.com/console.

Sorting Hat is a quiz application that suggests students the top ranking tracks that they can further look into based on their interests and what they find most important in a job.

Key Features

  • Quiz asks questions that are engaging
  • Results of the quiz are displayed in a bar graph
  • Description of each track is available
  • Extra resources are provided to help start the research
  • Schools are provided in the Courses section

Tech Stack

Front end built using:

React

Why did you choose this framework?

  • Unidirectional Data Flow is easy and viable for this product
  • Components make react highly reusable
  • Easy to be used for mobile and desktop
  • Huge Community of support

Redux

Why did you choose this library?

  • easy to test
  • single store to reuse objects

Cypress Testing

Why did you choose this library?

  • End to end testing
  • GUI is intuitive
  • low learning curve

Jest Testing

Why did you choose this library?

  • specialized for unit testing
  • works well with code climate

Front end deployed to Amplify AWS

Back end built using:

NodeJS

  • built on Chrome's JavaScript runtime which is convenient as Javascript is the only choice to develop new web applications in the web browser.
  • adding/changing functionality is easy as changes to the source code aren't needed.
  • lightweight as its executions are a series of asynchronous callback.

APIs

Backend API

This backend API allows for the front end application to interact with the back end database to display questions and results of the quiz as desired.

Environment Variables

This app does not require any environment variables for it to work. Optionally you can add a .env file containing the following:

*  SKIP_PREFLIGHT_CHECK=true - sometimes rca brings a preflight check error in which case set this variable to true

Content Licenses

🚫For all content - images, icons, etc, use this table to document permission of use. Remove the two placeholders and add you content to this table

Image Filename Source / Creator License
ArrowPurpleL.svg w3c Creative Commons
ArrowWhiteL.svg w3c Creative Commons
ArrowWhiteR.svg w3c Creative Commons
Checkbox.svg w3c Creative Commons
CoursesButton.svg w3c Creative Commons
Frame.svg w3c Creative Commons
HamburgerBtn.svg w3c Creative Commons
MainIcon.svg w3c Creative Commons
UnCheckbox.svg w3c Creative Commons
Vector.svg w3c Creative Commons
VideoPlaceholder.svg w3c Creative Commons

Testing

We used Cypress for the end to end testing to mimick user interactions. We used Jest react testing for the integration testing as jest is better suited for testing the business logic of an application.

Installation Instructions

Run yarn install to install the required dependencies to get this project up and running with yarn.

Other Scripts

* build - creates a build of the application
* start - starts the production server after a build is created
* test - runs all test builds
* cypress:coverage - runs cypress tests in the integration folder and saves the coverage in coverage/cypress-coverage directory.
* test:jest - runs jest tests and saves the coverage in coverage/jest-coverage directory.

Contributing

Please note we have a code of conduct. Please follow it in all your interactions with the project.

Issue/Bug Request

If you are having an issue with the existing project code, please submit a bug report under the following guidelines:

  • Check first to see if your issue has already been reported.
  • Check to see if the issue has recently been fixed by attempting to reproduce the issue using the latest master branch in the repository.
  • Create a live example of the problem.
  • Submit a detailed bug report including your environment & browser, steps to reproduce the issue, actual and expected outcomes, where you believe the issue is originating from, and any potential solutions you have considered.

Feature Requests

We would love to hear from you about new features which would improve this app and further the aims of our project. Please provide as much detail and information as possible to show us why you think your new feature should be implemented.

Pull Requests

If you have developed a patch, bug fix, or new feature that would improve this app, please submit a pull request. It is best to communicate your ideas with the developers first before investing a great deal of time into a pull request to ensure that it will mesh smoothly with the project.

Remember that this project is licensed under the MIT license, and by submitting a pull request, you agree that your work will be, too.

Pull Request Guidelines

  • Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  • Update the README.md with details of changes to the interface, including new plist variables, exposed ports, useful file locations and container parameters.
  • Ensure that your code conforms to our existing code conventions and test coverage.
  • Include the relevant issue number, if applicable.
  • You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.

Attribution

These contribution guidelines have been adapted from this good-Contributing.md-template.

Documentation

See Backend Documentation for details on the backend of our project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6