Habify is a tracking app to assist users with any habit
| Case ID | Test Scenario | Steps to Reproduce | Expected Result | Actual Result | Status | Notes |
|---|---|---|---|---|---|---|
| TC-01 | Empty sign-up form | 1. Select "toggle" to view sign-up page 2. Leave some or all fields blank 3. Select "Submit" | Validation errors should populate the page to inform the user that they must enter their username, name, and password | No errors populate the page, and the app fails to create a profile | Failed | The user is left with no visual cues explaining why the page refreshed with no result. Add error messages to convey that the form must be completed. |
| TC-02 | Purchase from market | 1. Select market icon 2. Select "Buy" under the desired item 3. View inventory to see purchased items | After clicking "Buy", the desired item should be added to the inventory | Works as expected | Passed - Improvement suggested | The purchase functionality works, and items are correctly added to the inventory. However, no confirmation message is displayed after clicking the purchase button, leaving the transaction outcome unclear. |
| TC-03 | Submit a streak without selecting "Pass" or "Fail" | 1. Enter a note into the text field 2. Avoid selecting "Pass" or "Fail" 3. Select "Submit" | Validation errors should populate the page to inform the user that they must select "Pass" or "Fail" to mark the calendar. | No errors populate the page, and the app fails to update the calendar | Failed | The app refreshes without informing the user that their streak submission failed. Validation errors should be added to inform the user to try again. |
Habify is a habit tracking app. Users have the ability to create accounts, track days that they have reframed from doing their bad habit and get coins gained through daily use that can buy various rewards. After creating an account, users will have their own dashboard with a calendar along with their streak. The streak measures how many weeks the user has lasted, and resets after one "fail". Hitting streak milestones will apply a coin multiplyer increasing the gain of daily coins. This calendar also comes a daily form that will ask the user if they were successful! Other pages include The Shop, Purchased.
SQLite
- Username.
- First & Last name.
- Password.
- Calendar data.
- Streaks/Coins.
- Gained rewards.
MVP
- Registration system.
- Single page dashboard interface.
- Calendar.
More features...
- Shop with various pricing.
- Streaks measured daily.
- Daily coin gain.
- Milestones apply multiplyers to coin gain.
- Milestone progress bar.
- Plot milestone dates
- Dev mode, Unlimited coins and streak levels.
- Streak milestone animation.
- Add requierments.txt.
- Style finalizations.
- Deploy.
- Clone this repo to your machine (Github docs). You should now have all the project files as well as 2 files, one called "requirments.txt" and the other "package.json".
- You may want a virtual environment to house all the packages that you're about to install. Todo so use the command
python -m venv venvfollowed byvenv\Scripts\activate, that will create & activate the virtual environment. For more info (Realpython.com).
- To install the backend portion of this app point the command line to the same directory as requirments.txt and use command
pip install -r requirements.txt. You should now have django in addition to all the other python packages installed.
- To install the front end portion of this app, "cd" into the "interface" folder and use command
npm install. You should now have React and all other javascript dependencies.
- While in the same directory, use command
npm run buildto build the react app.
- Now "cd .." back into the previous directory and run the commands
python manage.py makemigrationsandpython manage.py migrate.
- Finally use command
python manage.py runserverand open the provided link!
Notes:
- If you want to make any changes to any of the react files. you must "cd" back into the "interface" folder and use command
npm run build. - If you want to access the database use command
python manage.py createsuperuser. After filling out the form you can access the admin panel by visting "http://YOURLOCALHOST/admin" and logging in.