- Introduced a new History functionality to the app.
- Users can now mark workouts and goals as done in edit mode with the new "Mark Done" button.
- A new History view allows users to see all workouts and goals that are marked done.
- Users can mark workouts and goals as undone directly from the History view.
-
New Feature: Daily Meal Logging: Added a new section to log daily meals, enabling users to track calories and monitor macronutrients (protein, carbs, fats).
-
Refactored Dashboard View: Split the dashboard view into separate components for each section (Activities, Workouts, Goals, Meals) to improve code structure and maintainability.
-
Improved Card UI:
- Updated UI design for each section's cards to enhance user experience: Introduced distinct color themes for each section.
- Refactoring for Better Organization: Refactored the Workout, Goal, and Activity sections to reduce code duplication and enhance the separation of concerns by creating reusable Vue.js components. This improves maintainability and code readability across the project.
Refactoring
- Goal Section:
- Refactored
setFitnessGoal.vue
andEditGoal.vue
: Extracted common form logic and CSS into a new component namedGoalForm.vue
to avoid duplication and improve maintainability.
- Refactored
Refactoring and Enhancements:
-
Auth Section:
- Created
AuthForm.vue
: Extracted the common authentication form logic into a new component to improve code organization and maintainability. - Updated
Login.vue
andSignup.vue
: Integrated the newAuthForm.vue
component into both login and signup views for a more consistent structure.
- Created
-
Activities Section:
- Refactored
LogActivity
andEditActivity
: Extracted common form logic and CSS into a new component namedActivityForm.vue
to avoid duplication and improve maintainability.
- Refactored
-
Error Handling:
- Enhanced Error Messaging: Replaced basic
alert()
for error handling in the login method with UI-based error messages in both authentication and activities forms, providing a better user experience.
- Enhanced Error Messaging: Replaced basic
- Added Introductory Text to Pages: Introduced a brief, explanatory text at the top of the 'Activities,' 'Create Workout,' and 'Set Fitness Goal' pages to guide users on the purpose of each page.
- Aesthetic Enhancements: Implemented a fade-in effect for each page to enhance the user experience with smooth transitions.
- Improved Cards Design: Enhanced the visual appearance of dashboard cards for a more appealing and consistent design.
- Adjusted Fade In Animation: Refined the fade-in animation for dashboard cards to improve user experience.
- Updated README: Added detailed information on all features of the app to provide better clarity and guidance.
- Updated Screenshots.
- Updated requirements.txt.
- Active Minutes Tracking: Implemented a feature to track and display the total number of active minutes or time spent on activities to encourage user motivation.
- Duration Calculation: Added a function to calculate the duration based on start time and end time.
- The duration field is now read-only and displays the calculated duration in a human-readable format.
- Dashboard: Duration is displayed in a human-readable format.
- Start and End Time Fields: Added fields for start time and end time in custom activities. Duration is now calculated automatically based on these times.
- Updated Calculation: Adjusted active minutes calculations to use the new duration format.
- Fixed Bugs: Resolved various bugs and performed code improvements to enhance the overall stability and performance of the app.
-
Implemented User Authentication
- Secure login and registration functionality added.
- Utilizes JWT for managing user-specific data across the application.
-
Data Management Enhancement
- Ensured that every piece of data in MongoDB is linked to the user who created it.
- Added
user_id
to every data entry for proper user-specific data handling.
-
Custom Activity Routing Fix
- Resolved an issue where saving a custom activity did not redirect to the dashboard.
-
Calories Calculation Fix
- Fixed a bug where custom activities were not included in the total calories calculation.
-
Multiple Bugs
- Fixed various minor bugs to improve overall stability.
-
Activity Duration Input Improvement
- Updated input to allow users to type
:
between numbers to specify minutes in the activity duration.
- Updated input to allow users to type
-
Sidebar Icon Colors
- Each icon on the sidebar now features a unique color for better visual distinction.
-
Card Design Enhancement
- Added a box shadow to each card for a more modern and polished look.
-
Improved Form Interactions
- Enhanced input fields with better hover and focus effects for a smoother user experience.
-
Added Screenshots to README.md
- Updated the README file with new screenshots to showcase the application.
-
Todo List Update
- Added a new task in the todo list for implementing a language translation option (EN/FR).
- UI Enhancements:
- Dashboard.vue:
- Added buttons to guide users to the respective section creation pages when sections are empty.
- Updated the color scheme of the
Goals
section for better visibility.
- BaseLayout.vue:
- Enhanced the sidebar links with improved hover effects.
- Aligned icons and text links for a cleaner and more consistent layout.
- Dashboard.vue:
- Transitioned from SQLite3 to MongoDB:
- Migrated the project’s database from SQLite3 to MongoDB for improved scalability and flexibility.
- Created a new
CustomActivity
component that allows users to dynamically create and manage custom labels and values for activities. Dashboard.vue
:- Updated dashboard cards to display real data based on activities, workouts, and goals.
- Fixed errors related to data formatting and processing in Dashboard.vue.
- Enhanced data fetching and error handling in Dashboard.vue to ensure robust performance and user feedback.
- Added calculations to display the number of completed workouts, calories burned, upcoming workouts, and goals set.
app.py
:- Added update routes for activities, workouts, and goals:
- Updated delete routes to delete by ID:
vite.config.js
:- Updated to allow the development server to start on a local IP address instead of just localhost. See README.md for instructions.
- Update README.md, included MongoDB Installation Instructions.
- Update TODO.md
BaseLayout.vue
:- Implemented a responsive layout where a navbar appears at the top on small screen sizes, with a toggle icon to expand the sidebar
- Code improved with List Rendering (
v-for
).
- Limit exercise deletion to ensure at least one exercise field remains in
CreateWorkout.vue
. LogActivity.vue
: Show all fields when Creating Custom Activity.
- Implemented Vee-Validate to check for empty fields, string and numeric fields in:
- CreateWorkout
- setFitnessGoal
- Log Activity
- Handled dynamic field names using Vee-Validate library across forms.
- Fixed and standardized UI across all forms to ensure consistency.
- Added labels for start time and end time.
- Added seconds to the time input.
- For weightlifting activities, included fields for Exercise Type, Weight Lifted, Reps, Sets, and Intensity.
- Fixed duration format to allow only numbers and include minutes and hours as units.
- Fixed distance format to allow only numbers and include meters and kilometers as units.
- Ensured that number inputs are non-negative.
- Prevent saving a workout if the exercise fields are not filled out.
- Reorganized views components into appropriate folders.
- Improved UI of all components for better aesthetics.
- Added new component:
setFitnessGoal.vue
. - Made all cards in the dashboard clickable, routing to their respective "edit" routes.
- Added components for editing:
EditActivity.vue
EditWorkout.vue
EditGoal.vue
- Update Dashboard: Display Workout Routines, Activities Logged.
- Updated Frontend: Added
Create Workout Routine
Component. - Updated Frontend: Added
Activity
Component. - Updated Frontend: Added
Log Activity
Component.
- Commit first stable project files.