sdresselmann / herculade Goto Github PK
View Code? Open in Web Editor NEWA fitness planner where users can add and configure their own training plans.
License: MIT License
A fitness planner where users can add and configure their own training plans.
License: MIT License
The currently existing test cases do not cover all necessary and important functions. Thus the unit and integration tests should be expanded one, allowing further TDD for upcoming features.
Inform yourself about ways to properly use localisation and i18n in flutter.
Either don't use the navigator to switch between pages or use a different animation when the page is changed. This way, every time the user is navigating between pages, there is no animation shown to hint different activities are used.
https://pub.dev/packages/get/install
Should improve productivity and readbility of the code heavily.
Also might replace GetIt and support for i18n in #74 .
The structure of the architecture is all over the place. For improved oversight and cleaner seperation a "package by feature" architecture should be implemented.
Test class:
Navigate and check current page. If it is the expected outcome, navigate further.
Once each page has been explored and no exception occurred, mark the test result as success.
Test case | Arrange | Act | Assert |
---|---|---|---|
home page | start app | / | current page is home page |
statistics page | start app | go > statistics page | current page: statistics page |
calendar page | start app | go > calendar page | current page: calendar page |
training day page | start app | go > calendar > training day | current page: training day page |
training period page | start app | go > calendar > training period | current page: training period page |
training plan list page | start app | go > training plan list | current page: training plan list page |
training plan page | start app | go > training plan list > training plan | current page: training plan page |
exercise page | start app | go > training plan list > training plan > exercise | current page: exercise page |
Add a List that fetches training plan data from firebase and loads them into the page.
When clicking on a plan the corresponding data is fetched inside the workout table.
Install the current Dart and Flutter DevTools.
Also adding InteliJJ Plugins and sorts.
The pipelines for running tests and formatting code should be triggered when branches are pushed to, not just when pull requests are opened. This ensures that errors are detected immediately upon pushing changes, rather than waiting until a pull request is opened.
Trigger on branch names:
Currently, each user has the same views and training plans.
This makes the individual management of training schedules impossible and should be fixed immediatly.
Acceptance Criteria:
herculade-admin
and herculade-user
welcome <username>!, how are you doing today?
This would be helpful for contributing, but also for myself in case I need to check up later.
The < >
notation indicates that there is a placeholder for an actual value or expression.
{ feature | bugfix | hotfix | task }/#<Issue Number>_<TICKET_NAME>
examples:
feature/#35_create_user_service
bugfix/#190_remove_faulty_header
task/#333_expand_statistics_service_tests
#<Issue Number> - <type>(optional scope): <description>
<commit details> Explain why, something was done
examples:
#99 - refactor(dependencies): update insecure libraries
Updated project dependencies to the latest versions to address security vulnerabilities and improve performance.
Replace mock data with firebase backend.
Also any changes made to the data should be transmitted to the backend data.
The user has its own list of training plans as implemented in #60.
Now the list of training plans should be displayed on the training schedules page
Not all plans should be displayed at once, instead only the first one is shown. The user can then navigate between those plans by clicking on the name above, opening a selection with all avialable plans.
The plan itself contains four columns:
Exercise | Weight | Repeats | Comments
Each of this colums is freely editable and changes are stored in the firebase collection.
To delete and add entries buttons exist for each corresponding row.
When clicking on the delte button, a dialog is opened to ensure the deletion.
This aims to prevent accidental touches/clicks that would delete data.
In case an entry of the table gets to long, it is shortened and only a preview is shown.
Connected pages:
Create a start page class and make sure it is loaded into the flutter app as an entry point.
The current usage of the firestore service was never intended to be final, just function as a simple proof of concept.
Instead a reusable service should be implemented, which is able to store/load different types of data.
The service itself is getting used by their respective interface, describing what type of data should be handled (for example trainin plans, user data, etc.)
As mentioned in #23 using Firebase is not an option at the moment. A basic database must be set up and included into the project dependencies, while test cases also should proceed smoothly. However, as a last possible approach, I would like to try the firedart package that supports desktop connections to Firebase from flutter apps.
Example:
Exercise | Weight | Repeats |
---|---|---|
Deadlifts | 20 kg | 5x6 |
Squats | 20 kg | 5x6 |
Benchpress | 15kg | 5x6 |
App can be navigated completely:
The entries inside a training plan table can be edited, added and deleted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.