Some of us are under huge pressure. It could be hard for us to find a right person to talk to.
MyMood is a web app that will allow users to keep track of the moods. Users can register and login. Once they're logged in, they can add today's mood and leave a note, which they can view or add a feedback to this mood later. Moreover, MyMood can also offer statistics about the moods.
The application will store Users and Moods
- users can have many moods (via references)
An Example User:
{
username: // e.g. user1,
password: // a password hash,
}
An Example Mood with Reference to the User:
{
user: // a reference to a User object
mtype: //chosen from 'Awesome', 'Good', 'Okay','Bad','Terrible',
note: // some quick note about the mood,
createdAt: // timestamp
feedback: //not available when creating the mood, can be add later
}
/addMood - page for add a mood
/deleteMood - page for add a mood
/historyMood - page for showing all history moods
/historyMood/moodStats - page for showing statistics of history moods
/historyMood/feedback - page for giving feedback to a certain day's mood
Here's my Site Map.
- as non-registered user, I can register a new account with the site
- as a user, I can log in to the site
- as a user, I can add a mood on a specific date and write a note about it
- as a user, I can view all of the moods I've created
- as a user, I can add/edit feedback to the mood on a specific day
- as a user, I can view the statistic of my moods in 7 days/30 days
- Automated functional testing for all of the routes
- I am going to use Selenium
- Selenium is suitable for automated functional test for web
- 4 tests
- login
- Add a mood
- View history
- Delete a mood
- Configuration management
- use dotenv
- store database password in configuration
- store environment variable "NODE_ENV" in configuration
- tutorial on dotenv - (tutorial for using dotenv)
- tutorial on selenium - (for automated functional tests)