Visit the site here.
Keep track of the statuses of the various dining locations across Carnegie Mellon University. Quickly access the menus and specials at each location without having to go through the arduous process of visiting the CMU Dining Website. The following are some instructions and (hopefully useful) hints on the CMUEats development process. Don’t be afraid to ask questions if you are stuck!
-
Join CMUEats’ Slack channel (
#tech-cmueats
) in the ScottyLabs Slack. Feel free to also put questions in there. -
Create an account on Github. Later, you should also apply to get access to the Github Student Developer Pack.
-
To start developing, you'll need to download Node.js (follow this Medium article), Git, and an IDE (I recommend VSCode). You should also download Github Desktop to make development easier at the beginning. I recommend checking out Learn Git Branching later.
-
If you followed my IDE recommendation, also download the Prettier VSCode extension.
-
Any of the following steps where you type something (i.e. git clone…, npm install, etc.) should be done in your IDE’s terminal.
-
Then, clone this repository to your computer by running
git clone https://github.com/ScottyLabs/cmueats.git
after making sure you have git downloaded or runninggh repo clone ScottyLabs/cmueats
if you have the Github CLI. -
Now use
git fetch upstream
. -
Do the same for the dining API in a new location. This time, replace
https://github.com/ScottyLabs/cmueats.git
withhttps://github.com/ScottyLabs/dining-api.git
andScottyLabs/cmueats
withScottyLabs/dining-api
. -
Now install the CMUEats dependencies by 'cd'-ing into the root of the location where you cloned CMUEats and running
npm install
. -
Now, run
npm run build
to compile the TypeScript code into JavaScript code, which is now located in thedist
folder. -
Then, you can run the code with
npm start
and it should work! Just click on the link that appears and you’’ll see the web app. You can also usenpm run start
sincenpm start
is its shorthand version. -
Every time you add new code or make changes, run
npm run build
andnpm start
again to see the changes. -
Now follow the installation steps for the dining API as well (steps 9 to 12).
-
To find bootcamp issues you can work on, please visit the CMUEats issues page or the dining API issues page.
-
For every new issue or change you work on, first make sure your local repo is up-to-date with the ScottyLabs repo. To do this, go to your repo on your Github profile and click
Sync fork
if you are behind the main repo in commits. Then usegit pull origin main
in your IDE. Then typecd main
in the local repository (folder containing all the code) for CMUEats or the dining API then typegit checkout -b branch-name
, wherebranch-name
is the branch you want to work on (see Learn Git Branching). To work on changes to a branch you already created, usegit checkout branch-name
, wherebranch-name
is the branch you already created. Make sure to usegit checkout main
every t -
When you want to commit changes, first stage changes with
git add .
. Then, usegit commit -m "commit message"
(alternatively commit using Github Desktop). To undo commits, usegit reset --hard (HEAD~# or commit-id)
(--hard
removes staged and unstaged changes after commit chosen to reset to;--soft
keeps changes in working directory and keeps reset commits in staging area). Replace#
with the number of commits you want to go back by. Similarly, using@{#}
instead of~#
undos the reset (not necessarily just simplified). When you are ready to push changes, usegit push -f
orgit push -u branch-name
. -
When you want to create a pull request for your changes, go to the ScottyLabs repo on the Github website and click on
Pull Requests
. Click onNew Pull Request
. On the right side, click on your repo’s branch you want to merge from, and, on the left side, make sure you have ScottyLabs’main
branch selected. Create a description then create the pull request. Feel free to request reviewers or ask a tech lead directly, so they can review your pull requests and requests changes or merge it.