cliang1 / cliang

MIT License
0 stars 0 forks source link

N@TM Final Project Plan #14

Open cliang1 opened 1 month ago

cliang1 commented 1 month ago

Project Plan: Algorithmic Loops for Sleep and Fitness Data Analysis 1. Define the Project Scope and Goals:

Scope: Create an application that processes and analyzes sleep and fitness data using algorithmic loops.

Goals:

2. Create an Application that Processes and Analyzes Sleep and Fitness Data Using Algorithmic Loops:

  1. Data Parsing and Validation:

    • Ensure the data is clean and correctly formatted.
    • Validate incoming data for completeness and accuracy similar to the clean function of the titanic ml. image
  2. Sorting Sleep and Fitness Data by Different Criteria:

    • Sort by sleep duration, quality, physical activity level, fitness duration, BPM, intensity, etc., based on the csv schema
    • Implement user-defined sorting preferences.
    • use post functions
  3. User Ratings to Signify the Quality of Sleep and Fitness Sessions:

    • Allow users to rate their sleep quality and fitness sessions. - post and update functions to change the database and add info?
    • Collect feedback on sleep patterns and fitness activities.
  4. Counting and Analyzing Sleep Patterns and Fitness Data:

    • Count the number of sleep and fitness records.
    • Analyze sleep patterns and fitness activities based on age, gender, occupation, etc.
  5. Generating Reports:

    • Provide summary reports on sleep quality, duration, fitness metrics, and other health indicators. ex. statements about sleep on health based on how much sleep a person got, less than 4 hours of sleep means the person needs more sleep, more than 10 hours of sleep, the person needs to be more active)
    • Visualize data using charts and graphs, we can implement a pie chart for the sleep data

3. Design the Specific Algorithms for Processing Sleep and Fitness Data:

  1. Use Dictionaries, Lists, and Hashmaps to Store Sleep and Fitness Information:

    • Store sleep and fitness records in dictionaries or hashmaps for quick access.
    • Use lists for sorted data and easy manipulation.
  2. Define Classes:

    • Create Sleep and FitnessModel classes to encapsulate sleep and fitness data attributes and methods.
    • image image

  3. Loop Through Sleep and Fitness Data to Perform Operations:

    • Loop through sleep and fitness records to calculate averages, identify trends, etc.
  4. Filtering by Categories:

    • Implement filters based on user input (e.g., age, gender, sleep duration, fitness intensity).

4. Implement the Designed System and Algorithms: Read and Validate JSON Data:

  1. Read sleep and fitness data from JSON and CSV files:

    • Validate the data for required fields and correct formats.
  2. Convert JSON and CSV Data into Python Objects:

    • Deserialize JSON data into Sleep objects.
    • Load and process CSV data for fitness into pandas DataFrames.
  3. Loop Through Sleep and Fitness Data for Extracted Criteria:

    • Iterate over sleep and fitness records to apply filters and sort criteria.
  4. Sort and Filter Sleep and Fitness Data Based on User Criteria:

    • Implement sorting and filtering functions.
    • Allow users to specify criteria for sorting and filtering.
  5. Implement UI / Styling:

    • Create a user-friendly interface for displaying sleep and fitness data.
    • Use frontend frameworks (e.g., React, Vue.js) for dynamic interaction.
  6. Deploy:

    • Deploy the application on a web server.
    • Ensure the application is accessible to multiple users for data input and analysis.

Additional Fitness Goals:

  1. Train Machine Learning Models:

    • Use decision tree and linear regression models to predict calorie burn based on fitness data.
  2. Feature Importance:

    • Calculate and display feature importance to understand which factors most influence calorie burn.

Project Schedule for Next 2 Weeks

Day Task Description
Week 1: Brainstorming and Jupyter Notebooks
Monday Project Planning Define project requirements and scope. Outline the features of the search engine. Set up the development environment.
Tuesday List Comprehension Brainstorm and implement list comprehension examples in Jupyter notebook. Use a sample dataset
Wednesday List Processing Brainstorm and implement list processing methods (conventional and for-each) in Jupyter notebook. Use the sample dataset.
Thursday Sorting Algorithms Brainstorm and implement sorting algorithms (e.g., quicksort, mergesort) in Jupyter notebook. Use the sample dataset.
Friday Searching Algorithms Brainstorm and implement searching algorithms (e.g., binary search, linear search) in Jupyter notebook. Use the sample dataset.
Saturday Big O Analysis Analyze time and space complexity of sorting and searching algorithms in Jupyter notebook. Document the findings.
Sunday 2D Iteration Brainstorm and implement 2D iteration examples (e.g., sum elements in a 2D list) in Jupyter notebook. Use a sample dataset.
Week 2: Implementation and Testing
Monday Backend Setup Install and configure SQLite. Design the database schema. Implement initial database models.
Tuesday API Development Develop API endpoints for sorting, searching, and filtering. Integrate sorting and searching algorithms with SQLite queries.
Wednesday Frontend Setup Integrate backend with a frontend framework (e.g., Flask, React). Set up basic frontend to display search results.
Thursday Filtering and Searching Interface Implement the search and filtering interface. Ensure frontend can send queries to backend and display results correctly.
Friday Sorting and Filtering on Frontend Add sorting and filtering options on the frontend. Ensure smooth interaction between frontend and backend.
Saturday Testing and Debugging Conduct thorough testing of all features. Fix any bugs and optimize performance.
Sunday Final Review, Documentation, and Deployment Review the entire project. Write documentation for the code and how to use the search engine. Deploy the project to AWS EC2. Ensure the deployed application is running smoothly.