A convenient and centralized spot for Purdue students to view menus & dining locations, rate items, save favorites, receive personalized food recommendations and much more! 🍔
- Run
git clone https://github.com/youngbryanyu/fudstops.git
in your desired directory. - Run
npm install yarn
to install yarn as the package manager.
Before starting the frontend, run yarn
in the /backend
to install any missing dependencies. In the /backend
directory run yarn start
or npm run start
- The server should refresh and restart with new changes automatically if you make edits and save.
Before starting the frontend, run yarn
in the /frontend
to install any missing dependencies. In the /frontend
directory run yarn start
or npm run start
. This runs the app in the development mode. Open http://localhost:3000 to view it in the browser.
- The web page should reload automatically if you make edits and save.
In the /backend
directory run:
yarn test
to run tests asynchronouslyyarn test --runInBand
to run them one by one
If you are interested in contributing, reach out to youngyu2002@gmail.com. This project has currently been paused. If you are interested in extending it, you will need to fork the repo.
For more details on how to use yarn as a package manager, see the yarn CLI documentation.
To install a new dependency required, navigate to either the frontend or backend directory, then run yarn add <module_name>
to install the new module in its desired location. Make sure to not install dependencies in the project root directory, but rather in either the /frontend
or /backend
directories. If you accidentally ran installed a dependency in the root directory instead of in the /backend
and /frontend
directories, delete the /node_modules
directory and yarn.lock files and make sure to run yarn add ...
in the proper directory.
Before pushing any changes and making a pull request, run the following:
git config --global push.default current
: This will allow you to automatically push changes on your local branch to a remote branch of the same name usinggit push
orgit push -u
. See this stack overflow post for more details if interested.git config --global pull.rebase true
: This will set git to default rebase when pulling.
Next, just run the following:
git pull
to pull in any changes before committing. If the pull pull and rebase fails due to conflicting local changes rungit stash
, thengit pull
, thengit stash pop
. Fix any conflicts and commit when finished.git commit -m <message>
to commit your changes.git push
to push the changes to the remote branch that will be created by default based on the config set above.- Navigate to Pull requests to create the pull request onto the
main
branch. Get the necessary approvals then merge and delete the branch.
Make sure not to push anything from node_modules
when committing and pushing changes. We don't want tons of dependencies stored in our repository.
The follow requirements must be met before pushing changes onto the main
branch:
- Must be an invited contributor to the repository
- Must have 1 approval from another contributor
- Must have 1 approval from the repository owner (youngbryanyu)
You may need to set up a personal access token for authentication due to GitHub's newer security guidelines. See this documentation for how to do so (create a classic token), or follow the steps below:
- Go to the Tokens (classic) in Developer settings.
- Click on Generate new token, then Generate new token (classic).
- Give the token a name, set the desired expiration, and check every check box for maximum permission access, then at the bottom click Generate token.
- Save the access token somewhere safe and local since you will need it to authenticate.
Next time if you are prompted for your username and password when pushing, use your access token as the password. If you don't want to retype your credentials every time, run git config credential.helper store
before you run git push
, and once you enter your credentials, they will be stored locally (unencrypted) so you don't have to re-enter them repeatedly.