Dan ledwos || Christopher King || Elizabeth Luong
User-Instructions || Brief || User Stories || Methodologies and Processes || Reflections on the Project
- Open terminal and run
mongod
- In a new terminal
git clone https://github.com/elizabethluong/lap-3-group-project-habitapp.git
npm install
Node server
- Visit a browser and type in
http://localhost:8081/seed
- In a new terminal run
npm start
- Login with this username: broberts and password: password1 or with this username: jbrown and password: password2
Create an app where users can track their habits. Developers should host a database to store the daily information about users locally.
- As a user I would want to track my habits:
- As a user I want to choose a habit I want to track
- As a user I want to be able to add tasks to track
- As a user I would want to be able to select the frequency of each task
- As a user I would want to see my completed tasks.
- As a user I would want to see my streak
Stretch goals:
- As a user I would like to be able to log in
- As a user I would like to remove my task/s
- Standups every morning at 9.15AM
- Significant planning and reflection
- Mob programming
- Retros at 5.45pm
- Node.js / Express.js
- MongoDB / Mongoose
- CSS
- JavaScript
- React
- Git & Github
- Jest / Enzyme
In the planning process, we struggled with visualising how to store the data in the database. We overcame this by sketching what the object would look like and then we revised this multiple times throughout the project.
One of the biggest challenge we faced was human error due to fatigue, this could be solved by shorter rotations and more frequent breaks.
Because we chose to nest the habits in the user object we had difficulties adding a habit. We ended up finding and copying a user from the database, performing logical operatons to update the user object before saving it back to the database. The final hurdle in solving this problem was using a strict type comparison between a string and a object so we replaced this with a weak comparison equality operator.
If we had more time, we would seek to implement the following:
- broader test coverage
- add tasks to favourites
- tag or categorise habits