2026-10-17 05:45:26 -07:00
2026-10-17 05:52:03 -07:00
2026-10-17 04:43:52 -07:00
2026-10-17 04:43:52 -07:00
2026-10-17 05:25:32 -07:00
2026-10-16 03:00:46 -07:00
2026-10-17 04:43:52 -07:00

This app is intended to use with tracking personal fitness providers and visits to them. This will allow for tracking the providers, clients, and visits, and is intended to be used by the client for record-keeping. Providers will have photos and hourly rates. Visits will have duration and provider info. The client using the app should have a dashboard that shows a summary of all visits, and areas to view past visits, add new providers, and add visits. This will require a web front-end and a database back-end.

I will build this with LAPP stack - Linux, Apache, PHP & Python. I will build the front-end in PHP, and the back-end will be a Python API with a database.

The database will be a SQLite file handled by the Python service. There will need to be a Users table, a Providers table, and a Visits table. The Users table will contain the information and settings for the site users. The settings can be a JSON structure inside a single text entry. The Providers table will track the Providers info and rates. The rates will also be a JSON structure in a single text field. Any user can add a provider, and set it private or not. If not private, other users can add visits for the same provider. The Visits table will contain enties for User Visits to Providers. This will have date, time, location, provider, cost. There should be a initialize_db function that checks for the file and creates it if needed, including all tables. Here is a complete list of data for each table.

    Users
        - Name
        - ID              # this can be an int value automatically incremented by the database
        - username        # this will come from OIDC once the front-end starts getting built
        - Age
        - Photo           # not sure how this will be implemented yet, but this will probably wind up being a txt field with a link or UUID 
        - Settings        # things like dark mode maybe
    Providers
        - Name
        - ID
        - Phone number
        - Age
        - Photo
        - Rates
        - Private
    Visits
        - ID
        - User            # can be a list in case of joint sessions
        - Provider        # same applies here
        - Cost
        - Location
        - Timestamp
Here is a list of functions to start with
    get_user(name, id, username, fields)
        This can search user by either name, id, or username depending on what is passed. Will return user data in JSON, fields is optional and will return only fields listed in this variable
    get_provider(name, id, phone number, fields)
        This will search for a provider similar to how the user search function works
    get_visits(provider, user, date range)
        This will be able to search by any single or combination of search fields passed, so you could find all visits a provider did with a specific user at a specific date or just all visits for a single user, etc. The date range will need to be a list with two dates in it. This will return a list JSON structures with visit info
    add_visit(user, provider, cost, location, time)
        This will add a visit for the specified user and will return simple JSON data with status and the visit ID
    add_user(name, age, photo)
        This will add a user and return a status and ID in JSON.
    add_provider(name, age, photo, phone number, rates, private)
        This will add a provider and return a status and ID in JSON.
    update_provider(id, name, phone number, rates, private, photo)
        This will allow for updating a provider and will return a status and ID as well. 
    update_user(id, name, photo, settings)
        This will allow for updating a user and will return a status and ID as well. 
    update_visit(id, user, provider, cost, location, time)
        In case changes need to be made to a recorded visit.

The API will be how the site interacts with the database. There will need to be subroutines for searching the database here, and that will depend on how the front-end works out.

S
Description
Fitness provider and visit tracker
Readme
251 KiB
0 Stars 0 Watchers 0 Forks
Languages
PHP 66.2%
Python 31.5%
Dockerfile 2.3%