j-nguyen / fitgrind Goto Github PK
View Code? Open in Web Editor NEWTo track fitness goals
To track fitness goals
Description:
Fix the android activity transitions, as they slide in but have a random black hole.
To be able to do CRUD operations on the calorie log tracker, weight log tracker and the weight scheme.
CREATE TABLE time_log (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
date DATETIME
);
CREATE TABLE weight_log (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
time_id INTEGER REFERENCES time_log(id),
weight FLOAT,
);
CREATE TABLE calorie_log (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
time_id INTEGER REFERENCES time_log(id),
food TEXT NOT NULL,
calories INTEGER NOT NULL
);
CREATE TABLE progress (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
resource TEXT NOT NULL
);
CREATE TABLE image_location (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
image_id INTEGER REFERENCES progress(id),
time_id INTEGER REFERENCES time_log(id)
);
With the way this db is structured, the time stamps are meant to record for each date. We can check if today's date has been recorded. If it's not recorded, then we create the date for today.
This is a proposal so I'm not sure if this is 100%
More notes to account for:
We will need to check if you've recorded a date today, however if you haven't then it's not a big deal. We can check using by if 24 hours have been passed. This should work for weight log, and for recording your calories, however, your weight log wouldn't make much sense, as it should be geared towards being weekly or monthly.
If the weight log is to be weekly, we can still use the same database and reference the id's and such, just we have to make sure that it's been a week after we can record into calorie_log.
I'm assuming to find the latest date, would to be get the last inserted id, or we can manually search for the latest date.
Fix the setting screen, where it has us input imperial or metric values. We will need to set it based on the user.
Keyboard sometimes doesn't dismiss after either an invalid search, or a search that displays 0 results.
To provide the user with a list of navigation pages to go through.
Our Navigation links consist of: (Not Final)
This issue is related to #3. It is when you hit the button for your progress. This shows a viewpager of images , ranging from week 1 to 8 showcasing your progress and how well you're doing.
There are several requirements that we need to make sure to get this running. First, to have some sort of dynamic view-pager, we'll need some research.
Needed:
The goal is to help the user showcase their progress to weight loss/gain. By tracking it visually with pictures, it might be easier for some users to see and might even encourage the user.
Fix the SQLite DB. Sometimes it doesn't delete properly.
To let users dictate on what settings they want to have. For example, in the settings menu, there displays your current weight, your weight goal, along with your weight completion date (Kind of like a due date).
**Note: We may need some other settings. I can't think of any, but let me know @allan-lin **
Each of these settings will apply to your settings. I think some of them might be in a persistence data. Putting them in a SQLite Database might be overkill. I do think this is a good idea to put it here rather than on the weight log screen, or something like that.
Because we may be using several images on our workout log screen, we will need to cache our images so that our app doesn't crash during runtime.
Using https://github.com/square/picasso as the library, we have the ability to cache and download images with efficiency. We will be able to run our app with a lot of images for use. Picasso alone handles caching, threading and image-handling.
Allow users from lower android versions to be able to use our app. The new library (RetroFit) will now support Android 2.3+, even though our app is handled from 4.4+.
Because of the new update, there will be some gamebreaking changes, such as the addition of POJO classes, meaning that each JSON object be identical to the java object. This will definitely involve more cases of classes.
This issue is also critical, because the last library only supports API 23>, and that only covers about 35% of the android users which is not good enough.
To give a better UI/UX experience for the user. An animation usually indicates that an event's been finished, or some sort of activity/loading data is done.
The types of animations we are looking for:
This is probably going to be an ongoing issue until like week 3-4. This animation issue applies to all other issues.
Have a huge database pool for the user to select which closest food or recipe resembles theirs. This makes it easier on them so they don't have to input their own nutritional values.
This issue is inline and related with #5.
Food API by Spoontactular (https://spoonacular.com/food-api)
Big2Oven Recipe API (http://api2.bigoven.com/)
This is 'optional'. It would be awesome to have this, but the priority is to get the user to be able to add their foods.
Nuritional Value | Id |
---|---|
Calories/Energy | 208 |
Sugars, Total | 269 |
Total Fat | 204 |
Carbohydrate | 205 |
Saturated Fat | 606 |
Trans Fat | 605 |
Cholesterol | 601 |
Sodium | 307 |
Fiber | 291 |
Protein | 203 |
Vitamin A | 320 |
Vitamin C | 401 |
Calcium | 301 |
Iron | 303 |
Potassium | 306 |
A need for a recyclerview that is able to scroll down with offsets is required. There is way too many missing offsets.
Integrate the new calendar, using Caldroid.
Showcases your workout schedule, what you do with your exercises. It'll show a listview in a card view from sunday to saturday.
Note: We might be looking into Tabbed Activities, so this design is not final.
You add based on what day you want, so if you have a Monday, you can click on the three dots or use the fab button to add a workout for you.
Description:
The current code for DB is terrible. The CRUD operations work successfully, however they need to be refactored as the code is very messy.
This shit's garbage
Once #55 is done, we will need to adjust the weight log screen and have it input your weight in there instead.
To improve UI experience for users. Material Design enhances the user's experience.
https://developer.android.com/design/material/index.html
All styling, and designs should be committed to here. This issue might be open until Week 4, since this applies to almost everything.
The problem with the current database existing right now is that it is being improperly implemented. Some cases include: No singleton type pattern, bad use of HashMaps, and an overall bad design for the bridge-cross way between API and DB.
By fixing this issue, we eliminate less code, and there is potential for improving our app's performance and marginally decreasing our app's size.
Some solutions to fixing this issue.
Delete the Nutrients class and replace it with a HashMap. We know that all of the material is going to be in there.
The weight log screen will need to be re-adjusted as well. There currently needs to be a setting where we can have the user input in daily, weekly or monthly for their weight log screen. We'd like the user to decide.
Finalize on any type of last minute touches we need on our coding based, as we have the animations issue and styling issue covered.
It is been long overdue, and the new screen needs to be adjusted for the dairy log screen. We will now need an infinite viewpager, followed by a calendar that retrieves us dates, as it makes it much easier for us.
Provides a screen of your recent activity/last logged weight, as well as your progress.
Changes: Your progress button which shows a viewpager of your progress is meant to be weekly, not daily.
Similar to the home screen, there's also a recycler view which gets your last weight logs. In the future, we may add a chart to show your progress on how you're doing. The top box shows the recent activity as well as if you've reached your goal or not.
Remodify the screen so that it is no longer a long textview/textfield screen. This is not pleasing to the user, and needs to be re-modified so it looks nicer.
Let's attempt to make this a public repo. To do that, we'll have to customize our app to make it look nice.
This is inline with the #2 issue. This proceeds onto adding a new food/drink to your calorie tracker.
The goal is to use an API that showcases nutritional facts. You can add custom ones, but a food API will list several foods for us which makes it easier on the user. Once searched up, we can the nutritional facts and then use it as a calorie tracker.
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.