{"id":21310055,"url":"https://github.com/bahattincinic/fitwave","last_synced_at":"2026-01-19T15:10:22.018Z","repository":{"id":242065966,"uuid":"801996140","full_name":"bahattincinic/fitwave","owner":"bahattincinic","description":"Virtualize Your Strava Workouts","archived":false,"fork":false,"pushed_at":"2024-06-10T09:00:47.000Z","size":329,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-08T22:39:47.517Z","etag":null,"topics":["analytics","echo-framework","golang","strava","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bahattincinic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-17T10:10:08.000Z","updated_at":"2024-06-19T20:01:55.000Z","dependencies_parsed_at":"2024-06-10T09:58:50.825Z","dependency_job_id":null,"html_url":"https://github.com/bahattincinic/fitwave","commit_stats":null,"previous_names":["bahattincinic/fitwave"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/bahattincinic/fitwave","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahattincinic%2Ffitwave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahattincinic%2Ffitwave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahattincinic%2Ffitwave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahattincinic%2Ffitwave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bahattincinic","download_url":"https://codeload.github.com/bahattincinic/fitwave/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahattincinic%2Ffitwave/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28572997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T14:39:55.009Z","status":"ssl_error","status_checked_at":"2026-01-19T14:39:01.217Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","echo-framework","golang","strava","vuejs"],"created_at":"2024-11-21T17:12:08.067Z","updated_at":"2026-01-19T15:10:21.990Z","avatar_url":"https://github.com/bahattincinic.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FitWave\n\nFitWave is a tool that lets you fetch your Strava data, \ncreate custom dashboards using SQL, and view your workouts \nwith tables and charts. It helps you understand your training \nbetter and make informed decisions about your fitness.\n\n## Features\n- **Data Integration:** Connect with your Strava account and get your workout data.\n- **Custom Dashboards:** Use SQL to create dashboards that show the information you want.\n- **Visualization Tools:** See your workout data in tables and charts.\n- **User-Friendly Interface:** Easy to use and navigate.\n- **Real-Time Updates:** Keep your dashboards updated with the latest data from Strava.\n\n## Demo\n\nTo see FitWave in action, watch the demo on YouTube: \n\n[![Demo Video](https://img.youtube.com/vi/Y7Hl4OOkgB4/0.jpg)](https://www.youtube.com/watch?v=Y7Hl4OOkgB4)\n\n## Install the Project\n\nThere are a few options to install the project:\n\n- [Download a release binary](#release-binaries)\n- [Download a docker image](#docker-image)\n- [Build a binary from source](#building-from-source)\n\n### Release binaries\n\nYou can download the release binary for your system from the [releases page](https://github.com/bahattincinic/fitwave/releases).\n\n### Docker image\n\nTo pull the [Docker image](https://hub.docker.com/r/bahattincinic/fitwave):\n\n```bash\n# Pull the latest image\ndocker pull bahattincinic/fitwave\n\n# Or specify the image by tag\ndocker pull bahattincinic/fitwave[:tag]\n```\n\n### Building from source\n\n**1. Clone the Repository**\n\n```\ngit clone git@github.com:bahattincinic/fitwave.git\ncd fitwave\n```\n\n**2. Build Backend**\n\n```\nmake\n```\n\n**2. Build Frontend**\n\n```\ncd ui\nnpm install\n```\n\n#### Running the Application\n\n**1. Run Backend**\n\nRun project with the following command;\n\n    ./fitwave\n\nIf you need to override the configuration, create a `.env` file.\n\n**2. Run Frontend (`different terminal tab`)**\n\n    cd ui\n    npm run serve\n\n## Environment Variables\n\n| Field Name            | Type    | Default             | Options/Examples                                                                           |\n|-----------------------|---------|---------------------|--------------------------------------------------------------------------------------------|\n| ENV                   | string  | local               | - local\u003cbr/\u003e- production                                                                   |\n| LOG_LEVEL             | string  | debug               | - debug\u003cbr/\u003e- info\u003cbr/\u003e- warn\u003cbr/\u003e- error\u003cbr/\u003e- panic\u003cbr/\u003e- fatal                          |\n| LOG_OUTPUT            | string  | stdout              | - stdout\u003cbr/\u003e- /foo/bar/fitwave.log                                                        |\n| DATABASE_DSN          | string  | fitWave.db          | - fitWave.db\u003cbr/\u003e- host=localhost user=postgres password=postgres dbname=fitwave port=5432 |\n| DATABASE_TYPE         | string  | sqlite              | - mysql\u003cbr/\u003e- postgresql\u003cbr/\u003e- sqlite                                                      |\n| DATABASE_AUTO_MIGRATE | boolean | true                | - true\u003cbr/\u003e- false                                                                         |\n| API_PORT              | integer | 9000                |                                                                                            |\n| API_SECRET_KEY        | string  | PBU_gha4zfk!rwj8axv |                                                                                            |\n| API_TOKEN_EXPIRY_HOUR | int     | 24                  |                                                                                            | \n\n## Production Build\n\nBuild Frontend\n\n```\nmake build-frontend\n```\n\nBuild Backend\n\n```\nmake GCFLAGS=\"-tags=prod\"\n```\n\n\n## Swagger API Documentation\n\nTo view the API Swagger documentation, please visit the following link:\n\n[http://localhost:9000/api/docs/](http://localhost:9000/api/docs/)\n\nUpdating Swagger\n\n    make swaggen\n\n## How to Deploy the Project to Render.com (Free)\n\n### Create a PostgreSQL Database\n\n1. Go to the [Render Dashboard](https://dashboard.render.com/new/database).\n2. Follow the instructions to create a new PostgreSQL database.\n\n### Deploying the Web Service\n\n1. Go to the [Render Dashboard](https://dashboard.render.com/create?type=web).\n2. Select \"Deploy an existing image from a registry\".\n3. Enter the Docker image URL: [bahattincinic/fitwave](https://hub.docker.com/r/bahattincinic/fitwave).\n\n### Add Environment Variables\n\nAdd the following environment variables to your web service:\n\n```\nDATABASE_TYPE=postgresql\nDATABASE_DSN=host=\u003chost\u003e user=\u003cusername\u003e password=\u003cpassword\u003e dbname=\u003cdbname\u003e port=5432\nAPI_SECRET_KEY=\u003cYour Secret Key\u003e\n```\n\n### Configure Health Check Path\n\nIn the Advanced section, set `/api/status` as the Health Check Path.\n\nThis configuration will ensure that your service is correctly monitored and maintained by Render.com.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahattincinic%2Ffitwave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbahattincinic%2Ffitwave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahattincinic%2Ffitwave/lists"}