Skip to content
Joel edited this page Mar 20, 2022 · 4 revisions

Welcome 👋

Welcome to the SE703 2022 Team 3 Assignment 1 Wiki!

This repo contains the code and documentation relating to Forgettable: our networking web application.

What is Forgettable?

Forgettable is a web app designed to help users remember people they have met. Users can add 'Persons' that they have met along with brief details such as when they first met, their interests, and social media links. 'Encounters' can then be logged for each 'Person' every time you meet. These describe when and where they met, and a brief description of what happened. Users are able to create, retrieve, update, or delete both 'Persons' and 'Encounters' as they please.

What's in this Wiki?

This Wiki contains information relating to getting started, code of conduct, contribution and styling guides, some of the implementation/design details, as well as meeting minutes and team information.

Note: This project is related to the University of Auckland course SOFTENG 701.

Getting Started

What to download?

1. Git

Obviously, as this is hosted on GitHub, we use Git to contribute. Download here.

Version Used: v2.32.0

2. Npm and Node.js

Our application relies on node packages and our backend is written in part using Node.js. Download here (includes Npm).

Version Used: v8.5.0 for Npm and v16.14.2 for Node.js

3. VS Code and ESLint

We recommend using Visual Studio Code as your IDE due to its simplicity of use and range of plugins. Download here.

You can find Microsoft's ESLint plugin in the Plugin Marketplace in the VS Code app. This helps with formatting your code to abide by the style guidelines.

4. MongoDB Compass, Postman, and Firebase

For interacting with the database as a backend dev you'll likely want to download MongoDB Compass to see what documents are stored in the database. There are also sandbox modes that are useful for testing. Postman is a useful tool to simulate API requests to your backend if endpoints are not connected in the frontend. Firebase is used for authentication in this application. There is a dashboard from which you can see all registered users in the Firebase app. For both Firebase and MongoDB, you can log in using our team's Google account (credentials will be passed on securely to authorised developers).

You can download these all here, here, and sign in here.

Running locally

First, you'll want to fork then clone this repository locally, navigating to the new project directory on your system. In the /backend folder you'll have to create a .env file where you'll put secret information relating to Algolia, Firebase, and MongoDB. Additionally in both /forgettable-frontend and /backend folders, you'll need to add Firebase config files. These will all be passed over secure channels as to avoid pasting the secrets in a public repository.

Once this is done, from the top-level directory /Forgettable you'll have to start both the frontend and the backend.

For the frontend:

cd forgettable-frontend
npm install
npm start

For the backend:

cd backend
npm install
npm start

Note: in both cases you'll only need to perform npm install the first time you try to run the app, or any time you add a new package.

Congratulations! 🥳

Now you should have your very own instance of Forgettable running locally on your system!