Skip to content

dnguyen3031/Matchmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matchmaker

This project uses a React frontend, powered by a Flask backend, featuring a database using MongoDB. We chose this tech stack because we had already used React and MongoDB in 308 assignments so it made sense for us to build on our existing experience. We chose to use Flask for our backend because we all have intermediate experience with Python from previous courses.

Getting Started for Developers

Clone the repository

git clone https://github.com/dnguyen3031/Matchmaker.git

Run the frontend

  1. npm start (if its your first time, you might need to run npm install )

Run the backend

  1. activate virtual environment
  2. start-backend.bat

Managing CI/CD

Any changes are to be merged into branches Heroku-Frontend, and Heroku-Backend. The self-deployment will take care of the rest.

Frontend: https://dashboard.heroku.com/apps/matchmaking-01

Backend: https://dashboard.heroku.com/apps/matchmaker-backend01

Travis-CI Badge(s): https://travis-ci.com/dnguyen3031/Matchmaker.svg?branch=heroku-frontend https://travis-ci.com/dnguyen3031/Matchmaker.svg?branch=heroku-backend

Acceptance Tests and Unit Tests

The acceptance test code is fount at Matchmaker\cypress\integration\testing.spec.js

There is no need for prior setup to run the cypress test, simply select the file in cypress and it will run fully

  1. In another terminal, run the following commands:
coverage run backend_tests.py
coverage report backend.py

Screenshot proof of passing tests are at the bottom of the readme

For Future Collaborators:

Style Guide for JavaScript: https://google.github.io/styleguide/jsguide.html

React/JSX: https://airbnb.io/javascript/react Python: https://www.python.org/dev/peps/pep-0008/

Code linter/style checkers:

ESLint for JavaScript (frontend)

PyLint for Python (backend)

These checkers will use used via the command line interface.

To use PyLint, install it first here https://www.pylint.org/ and after simple just run "pylint FILENAME.py" to style check your python file!

To use ESLint, follow the directions to install here: https://eslint.org/docs/user-guide/command-line-interface

Now, you can type "eslint file1.js file2.js" to check styles

Figma Storyboard: https://www.figma.com/file/4y3sCg0TQH2MPipsPJ9vks/308-Matchmaker-Journey?node-id=0%3A1

Automated Acceptance Tests

The 8 Scenarios:

  1. Login//Logout
  2. Edit Profile
  3. Searching For People
  4. Adding/Removing Friends
  5. Create/Leave Group
  6. Creating an Account
  7. Adding Games
  8. Joining and Completing a Lobby 309_cypress_test_1 309_cypress_test_2 309_cypress_test_3

Backend Code Coverage Report (50% coverage met)

final_cc obtained after running backend_tests.py, suitable_lobby_tests.py, and team_assignment_tests.py

About

CSC 308, Team A's Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published