https://github.com/bashbunni/habit-tracker
See your consistency with sticking to your new habits with a heatmap!
https://github.com/bashbunni/habit-tracker
Last synced: about 1 year ago
JSON representation
See your consistency with sticking to your new habits with a heatmap!
- Host: GitHub
- URL: https://github.com/bashbunni/habit-tracker
- Owner: bashbunni
- Created: 2021-11-15T20:39:41.000Z (over 4 years ago)
- Default Branch: dev
- Last Pushed: 2022-01-04T04:21:50.000Z (over 4 years ago)
- Last Synced: 2025-02-28T02:23:00.474Z (over 1 year ago)
- Language: JavaScript
- Size: 11.4 MB
- Stars: 44
- Watchers: 3
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README





## About
My project is a web and desktop application that allows you to track and visualize your consistency with your habits over time with a calendar heatmap.
This allows you to track any habits you’d like and see how you’re progressing towards your goals.
I hope that this tool can help those who struggle with being consistent or disciplined.


## How to Run
### Dependencies
#### Frontend
- all frontend dependencies are included in the `package.json` file
- you can install these dependencies by navigating to the `frontend` folder then running `npm i`
#### Backend
- [Wails](https://wails.app/gettingstarted/) and its dependencies
- Please follow their 'Getting Started' guide to install all project dependencies
- Dependencies listed in `go.mod`
- install these dependencies by running `go get` in the backend/root directory (same level as main.go)
- Since auth isn't set up yet, you will need a `.env` file with the following values:
```
DB_USERNAME=insertusername
DB_PASSWORD=insertpassword
HOST=inserthost
PORT=insertport
DATABASE=insertdatabase
```
**_note_: You must use a MySQL db for this project**\
For example, if you're running a local MySQL database your .env file might look something like this:
```
DB_USERNAME=root
DB_PASSWORD=root
HOST=localhost
PORT=3306
DATABASE=HABIT_TRACKER
```
### Running the App
- In a terminal window, in the root folder (same folder as `main.go`) run `wails serve` to start the backend.
- In a new terminal window, navigate to the frontend folder, then run `npm run serve` to start the frontend.
This runs the development server for the desktop application on `http://localhost:3000`
## How to Contribute
1. Create an issue\*
2. Fork the repository
3. Create a solution that solves _exactly_ the features that are mentioned in the issue
4. Create a pull request with a link to the issue following the format:
```
## Completed
- [x] add timer functionality
- [x] create timer component
- [x] integrate timer React component with timer functionality
## Goal
Build out the pomodoro timer as outlined in feature request issue #10
```
- the list of tasks completed will likely match your commit messages if you're writing meaningful commit messages, if not, it will add clarity to the pull request.
\*issues should include a clear description. For bugs this means including screenshots of related error messages and code snippets that you suspect are involved along with your OS, Go, Wails, Node versions.
For feature requests, please include a description of the feature, with a user story outlining the problem-space it aims to solve.
### Additional Information
Here's an overview of the project structure:

## Next Steps
### Add Pomodoro functionality
This includes
- a functional timer component
- incrementing the count for a habit that has pomodoro enabled

### Add Authentication
I would like for users to be able to keep track of their own habits and separate data by user for production.
### Release Production Build
Habit Tracker is currently in release for development only, meaning that a stable production release still needs to be developed.
I'm planning on migrating the project to Wails v2 which has a lot of bug fixes available.
Once I've finished the migration I'll be working on building the executable desktop programs for Mac, Linux, and Windows.
That will be the first major release