{"id":20742735,"url":"https://github.com/tpn-labs/progresspro-api","last_synced_at":"2026-04-28T03:03:03.564Z","repository":{"id":96249603,"uuid":"587419240","full_name":"TPN-Labs/ProgressPro-API","owner":"TPN-Labs","description":"The repo uses the popular Ktor framework, being a real-world example of implementing a web server using Kotlin","archived":false,"fork":false,"pushed_at":"2023-07-18T20:25:44.000Z","size":129,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T02:18:16.183Z","etag":null,"topics":["boilerplate","exposed","kotlin","ktor","postgresql","starter-kit","starter-template","template"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TPN-Labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-01-10T17:55:08.000Z","updated_at":"2023-03-22T18:15:58.000Z","dependencies_parsed_at":"2024-11-17T07:07:23.505Z","dependency_job_id":"f4699ea0-7be5-4ebb-b461-83388cc5470a","html_url":"https://github.com/TPN-Labs/ProgressPro-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TPN-Labs%2FProgressPro-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TPN-Labs%2FProgressPro-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TPN-Labs%2FProgressPro-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TPN-Labs%2FProgressPro-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TPN-Labs","download_url":"https://codeload.github.com/TPN-Labs/ProgressPro-API/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243033684,"owners_count":20225212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["boilerplate","exposed","kotlin","ktor","postgresql","starter-kit","starter-template","template"],"created_at":"2024-11-17T07:07:17.605Z","updated_at":"2025-12-26T03:33:32.627Z","avatar_url":"https://github.com/TPN-Labs.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💪🏽 About ProgressPro\n\n📈 Fitness trainers can keep track of their clients' progress with ProgressPro. The app is designed specifically for fitness instructors and allows them to easily monitor and track their clients' performance over time.\n\n🏋🏽 Instructors can input and track their clients' weight and sizes, as well as set fitness goals and monitor progress towards achieving them.  \n\n⏰ This app is perfect for busy fitness instructors who want to stay organized and on top of their clients' progress without spending hours on paperwork and manual tracking.\n\n### [📱 ProgressPro Mobile (Flutter)](https://github.com/hopingsteam/ProgressPro-Mobile)\n### [🌎 ProgressPro Web (React)](https://github.com/hopingsteam/ProgressPro-Web)\n\n# 🚀 ProgressPro API (Ktor)\n\nProgressPro (also known as ProgressP) is a lightweight app that empowers fitness instructors to change lives.\n\nThis is a real-world example of implementing a web server using [Kotlin](https://kotlinlang.org/). The codebase uses the popular [Ktor](https://ktor.io/) framework, and it demonstrates the simplicity and efficiency of Kotlin when it comes to building web applications.\n\nThe API server exposes a set of endpoints for CRUD operations on a resource, and it also includes examples of handling HTTP requests, parsing JSON, and handling exceptions.\n\n## 💻 Development\n\nWe recommend using IntelliJ for developing, running and testing the app functionalities.\n\nThe application was built with:\n\n- [Ktor 2.2.1](https://github.com/ktorio/ktor) as web framework\n- [Koin 3.2.2](https://github.com/InsertKoinIO/koin) as dependency injection framework\n- [Jackson 2.14](https://github.com/FasterXML/jackson-module-kotlin) for data serialization/deserialization\n- [HikariCP 5.0](https://github.com/brettwooldridge/HikariCP) as datasource abstraction of driver implementation\n- [Postgres 42.5](https://github.com/postgres/postgres) as database\n- [Exposed 0.40](https://github.com/JetBrains/Exposed) as SQL framework to persistence layer\n- [New Relic](https://github.com/newrelic/java-agent-api) for Observability (tracking performance and error rates)\n\n### 📁 Project Structure\n\n      + gradle/\n          Gradle wrapper properties\n      + resources/\n          Configuration files for logback and the API server\n      + src/\n        + api\n            Defining accessibile routes\n        + config\n            All app setups.\n        + database\n            Database setup\n        + models\n            Persistence layer and tables definition\n        + service\n            Logic layer for transforming data\n        + util\n            Jwt, Handlers, Exception classes (\u0026 others)\n        - Main.kt \u003c- The main class\n      + test/\n          Tests for the implemented functionalities\n\n\n## 🔨 Building\n\n    ./gradlew clean build\n\n## ▶️ Running\n\n    ./gradlew run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftpn-labs%2Fprogresspro-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftpn-labs%2Fprogresspro-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftpn-labs%2Fprogresspro-api/lists"}