Motivation • Installation • Sprint 0 Setup • Tech Stack • Contribution
Tabs is a comprehensive household management mobile app for you and your housemates.
Our vision is to enhance our users' home lives by preventing disorganization, miscommunication, and avoidable situations with their roommates. Users are able to seamlessly manage inventory and supplies, create and keep track of schedules and chores, and manage many other accommodations, saving them time and effort.
We hope to help individuals to stay connected to their roommates and improve their experience living with them.
Git and Node.js must be installed on your computer to clone and run this application.
In the root directory, add a
.env
file with the ports you want to use.
In the
packages/backend
folder, add a.env
file with your database connection string.
From your command line:
# Clone this repository
$ git clone https://github.com/UTSCCSCC01/Tabs
# cd into the frontend directory
$ cd Tabs/packages/frontend
# Install dependencies
$ npm install
# cd into the backend directory
$ cd Tabs/packages/backend
# Install dependencies
$ npm install
# cd back to root directory and build and run with Docker
$ docker compose build
$ docker compose run
Open Expo app on a simulator and type in the address shown in terminal
# cd into the frontend directory
$ cd Tabs/packages/frontend
# Install dependencies
$ npm install
# Run the app with Expo
$ npm start
On a mobile device, install the Expo Go app and scan the QR code shown in the terminal.
Alternatively, if you are on macOS and have XCode & XCode Command Line Tools installed:
# Run the app with an iOS simulator
$ npm run ios
# cd into the backend directory
$ cd Tabs/packages/backend
# Install dependencies
$ npm install
# Build
$ npm run build
# Run backend
$ npm start
- Node.js
- mongoose for querying the database
- Azure Cosmos DB as the host for user data
- Apollo Server for HTTP requests
- Express.js
- GraphQL for routing
All contributions should conform to the Gitflow workflow.
- Create/Checkout a feature/debug branch
- Commit and push changes
- Submit a pull request
Branches should be the Jira ticket number followed by its name, separated by dashes.
{ticket#}/{issue name}
- Jira is used for ticketing
- All pull requests require 2 approving reviews before merging