Skip to content

Sandwich recommendation site. Recommends a random sandwich based on preferred ingredients.

Notifications You must be signed in to change notification settings

IsaacFigNewton/SandoMatch

Repository files navigation

Find your perfect sandwich

Sandwiches are tasty, but there are an infinite number of combinations and we have a finite amount of time to try them.

With our app, users can:

  • Find and try new, unique sandwiches
  • Indicate their favorite sandwich, bookmark ones they'd like to eat again, and mark the sandwiches they've tried when logged in
  • Search for sandwiches or select one at random


Diagrams

Last updated November 4, 2024

Signup Flow

Sign Up Flow (1)

Sign-In Flow

Sign In Flow (1)


Making changes

  1. To add new functionality, we recommend starting by copying an existing one, renaming and then altering the contents of its respective function.
  2. After creating a new function, and before you export it to be integrated with the rest of the build, make sure you're validating the function properties similar to the following:

    // Validate FilterPage props
    FilterPage.propTypes = {
    filters: PropTypes.shape({
    include: PropTypes.array.isRequired,
    exclude: PropTypes.array.isRequired
    }).isRequired,
    setFilters: PropTypes.func.isRequired,
    applyFilters: PropTypes.func.isRequired,
    };

Local Testing/Deployment Setup

Make sure that you test any changes to your local build prior to requesting your branch be merged into main.

In the root directory:

  1. npm ci
Note: if the above gives you an error, try removing the package-lock.json file and running npm install

In packages/expess-backend:

  1. npm lint
  2. npm run dev

In packages/react-frontend:

  1. npm lint
  2. npm run dev

Architecture

  • .github/workflows
    • azure-static-web-apps-delightful-mushroom-05d6e7b1e.yml
    • ci-testing.yml
    • main_sandomatch
  • .idea
    • .gitignore
    • .name
    • SandoMatch.iml
    • misc.xml
    • modules.xml
    • vcs.xml
    • workspace.xml
  • cypress
  • e2e
    • bookmark.cy.js
    • favorite.cy.js
    • login.cy.js
    • logout.cy.js
    • menu.cy.js
    • profile.cy.js
    • random.cy.js
    • searchbar.cy.js
    • signup.cy.js
    • spec.cy.js
    • tried.cy.js
  • fixtures
  • support
  • docs
    • backend.md
    • dataset.md
    • frontend.md
    • uml.md
  • packages
  • .gitignore
  • CONTRIBUTING.md
  • README.md
  • package-lock.json
  • package.json
  • Sources

    About

    Sandwich recommendation site. Recommends a random sandwich based on preferred ingredients.

    Resources

    Contributing

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Contributors 6