- React.js
- TypeScript
- Material UI
- GraphQL
- Express.js
- Node.js
- MongoDB
- Node.js must be installed.
- If not already installed, please visit https://github.com/nvm-sh/nvm for instructions.
- Download the project via
git clone
or by downloading the files as a.zip
file. - Open the backend folder in your terminal via
cd instacook/backend
- Enter
npm install
to install backend dependencies. - Run
npm start
to run the backend on port 6921. - Repeat steps 2-4 for the frontend folder (
instacook/frontend
) to run the frontend. - After this, the application should have successfully opened in a browser window.
- If you are planning to set up the project in your local development environment, you will need to change the database credentials located in
backend/nodemon.json
. - To generate these credentials, we will need to create a MongoDB database:
- Create and login to your MongoDB account at https://account.mongodb.com/account/login.
- Click on the “Build a Database” button after signing in to create a new MongoDB database.
- Select your desired database configuration and click “Create Cluster”.
- Create a new user for your new database.
- Select your desired connection settings.
- After your new database has been created, click on the “Connect” button.
- Select the “Connect your application” option.
- Take note of the username, password and database name and add these values into a new file,
backend/nodemon.json
:
{ "env": { "MONGO_USER": "<username>", "MONGO_PASSWORD": "<password>", "MONGO_DB": "<database name>" } }
- The application might become a bit slow/unresponsive if many recipes are uploaded whilst using the free MongoDB database tier (i.e. Shared Cluster).
- Frontend API Calls could be moved to a separate module
- More overall code documentation
- General UI Improvements
- Matthew Lau
- Steven Nguyen
- Raymond Chung
- Joe Nguyen
- Yuancong Cheng (Ryan)