Skip to content

zackjh/moody-mood-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moody

Description

Moody is a web application which allows users to better understand themselves through tracking the correlations between their lifestyle habits and their moods.

Inspiration

Moody was inspired by the countless times where I felt like I was having a bad day for no reason

I decided on developing a mood tracker as my CS50x Final Project because I realised that many people, including myself, do not fully understand how their lifestyle affects their mood, leading to much confusion and frustration, especially when things aren't going well in life

Having a factual record of the key aspects of one's lifestyle should help one to discover and understand the correlations between their habits and how they feel

Tech Stack

Front-End

  • HTML5
  • CSS3
  • Bootstrap v5.0

Back End

  • Python 3
  • Flask
  • SQL

Front-End Design

The front-end design of Moody takes a minimalistic approach in order to keep the focus on the data instead of distracting design elements. This minimalistic approach is accomplished through the use of simple colours, clean lines, and unobtrusive fonts.

Bootstrap v5.0 is the chosen CSS Framework due to its ease of implementation and simple designs

Back-End Design

Flask and Python 3 are used for the back-end processing of Moody due to them providing the required functionality while remaining relatively easy to use.

Sessions for user logins are implemented using Flask with cookies being stored on the server's storage drive.

A SQL database is used to store the data of user entries as the stored data has a fixed schema, allowing for easy querying with SQL commands.

Challenges Faced

Lack of knowledge and experience in Bootstrap and CSS in general

Too ambitious goals in the beginning, which slowed down progress

Potential Future Improvements

Ability to edit mood entries directly from the homepage

Habit tracker

Mobile application

What I Learnt

Try to work on the front-end design of any application before working on the back-end development in order to make it easier to continue where you left of whenever you take a break from the project for a period of time

It is also easier to visualise progress when the front-end design is already completed, which increases motivation for the developer (you) to continue working hard to complete the project

Working on a project is a marathon, not a sprint, and the focus should be on taking small, consistent steps every time you sit down to code, instead of trying to finish the bulk of the project in one or two sittings

To add on to the previous point, it is okay to alter the project plan in order to make it easier or more efficient to develop, especially if there are deadlines in place - while it may be hard to change what you originally wanted to create, it is more important to have a complete and functional project instead of a perfect one

You can always change and/or develop new features in the future, and having a backlog of features that you want to improve or implement is healthy for the long-term sustainability of your project

It's okay to fail and give up at certain times, especially if your goals have changes and the current work you are doing no longer helps you work toward your goals, however it is also important to keep in mind that we must try to finish what we started as often as possible, in order not to encourage the bad habit of not finishing projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published