{"id":24064834,"url":"https://github.com/thatplatypus/achiever","last_synced_at":"2026-02-16T19:40:11.017Z","repository":{"id":214811296,"uuid":"735794352","full_name":"thatplatypus/Achiever","owner":"thatplatypus","description":"A modern goal tracking webapp powered by .net 8 minimal api backend with a blazor wasm client, svelte client, and iOS client","archived":false,"fork":false,"pushed_at":"2024-12-22T21:03:43.000Z","size":1242,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T19:52:45.271Z","etag":null,"topics":["blazor","blazor-webassembly","csharp","dotnet","entity-framework","identity","ios","minimal-api","postgres","svelte"],"latest_commit_sha":null,"homepage":"https://happy-smoke-04e17cc1e.4.azurestaticapps.net/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thatplatypus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-12-26T05:19:30.000Z","updated_at":"2025-02-10T22:52:19.000Z","dependencies_parsed_at":"2024-01-13T22:10:04.178Z","dependency_job_id":"b1171515-02d6-46e3-91e4-2d47c94b1116","html_url":"https://github.com/thatplatypus/Achiever","commit_stats":null,"previous_names":["thatplatypus/achiever"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thatplatypus/Achiever","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatplatypus%2FAchiever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatplatypus%2FAchiever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatplatypus%2FAchiever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatplatypus%2FAchiever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thatplatypus","download_url":"https://codeload.github.com/thatplatypus/Achiever/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatplatypus%2FAchiever/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29516176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["blazor","blazor-webassembly","csharp","dotnet","entity-framework","identity","ios","minimal-api","postgres","svelte"],"created_at":"2025-01-09T10:53:01.387Z","updated_at":"2026-02-16T19:40:10.999Z","avatar_url":"https://github.com/thatplatypus.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Achiever\n\nAchiever is a full-stack web application built with .NET 8 and multiple front-end clients. It's designed to showcase the capabilities of minimal APIs, Blazor, and the flexibility of having distinct clients to support an application.\n\nThe solution is structured into the following projects:\n\n1. **Api**: This is the backend of the application, built with .NET 8 minimal APIs. It provides a clean, efficient, and flexible way to define the server-side logic of the application. The api is designed to be re-used amongst several standalone client applications.\n   - DotNet Minimal API Endpoint structured to the REPR Pattern\n   - MultiTenant Account Structure\n   - CQRS seperation\n   - Entity Framework backed by Postgres\n\n3. **Client**: This is the frontend of the application, built with Blazor WebAssembly. It provides a rich, interactive user interface that runs in the user's web browser using WebAssembly.\n   Blazor Client [demo site](https://achiever-app.azurewebsites.net/goals)\n \u003cdiv style=\"display: flex; justify-content: center; gap: 10px;\"\u003e\n  \u003cimg width=\"49%\" src=\"https://github.com/user-attachments/assets/ba49fd80-ac0e-4fb4-b0db-5d541d8c66e1\" alt=\"Blazor Client Goal View\" /\u003e\n  \u003cimg width=\"49%\" src=\"https://github.com/user-attachments/assets/e20eb60a-a76a-4f35-942e-857089c020a0\" alt=\"Blazor Client Dark Mode\" /\u003e\n\u003c/div\u003e\n\n4. **Shared**: This project contains code that is shared between the Api and Client projects. This might include data models, constants, or utility functions.\n\n5. **Test**: This project contains tests for the Api and Client projects. It helps ensure the reliability and correctness of the application's code.\n  \n6. **iOS**: This project contains a native SwiftUI iOS app for the Api backend. \n   The iOS client is not published on the apple app store at this time but feel free to build and run it from xcode using the swift source code.\n\u003cdiv style=\"display: flex; justify-content: center; gap: 10px;\"\u003e\n  \u003cimg width=\"32%\" src=\"https://github.com/user-attachments/assets/db949796-a1fa-495e-9bc6-fb5132aaeced\" alt=\"iOS Login Screen\" /\u003e\n  \u003cimg width=\"32%\" src=\"https://github.com/user-attachments/assets/b6b5e77b-046b-4f1f-8f8a-fb174007d3f7\" alt=\"iOS Goal View\" /\u003e\n\u003c/div\u003e\n\n8. **Svelte**: This project contains a client-side Svelte app built with shadcn-ui for svelte and tailwind.\n   Svelete [demo site](https://happy-smoke-04e17cc1e.4.azurestaticapps.net/)\n\u003cdiv style=\"display: flex; justify-content: center; gap: 10px;\"\u003e\n  \u003cimg width=\"49%\" src=\"https://github.com/user-attachments/assets/62903e71-6461-4085-8d9a-c4c443af76ad\" alt=\"Svelte Client Light Mode\" /\u003e\n  \u003cimg width=\"49%\" src=\"https://github.com/user-attachments/assets/33ce1011-d3fe-4174-a4f4-7d5c49a31a89\" alt=\"Svelte Client Dark Mode\" /\u003e\n\u003c/div\u003e\n\nAchiever demonstrates how to build a modern, full-stack web application with .NET and SPA-Clients including Blazor WebAssembly and Svelte. It's a great starting point for anyone interested in a full-stack c# app with newer .Net features like Minimal API Endpoints and the latest identity practices with a front end client.\n\n## Features\n\nA simple app to help track your progress on goals.\n\n - Create an unlimited number of goals with optional target dates.\n - Create an unlimited number of SubTasks per goal to help breakdown complex goals.\n - Track estimated hours, notes, and status of each subtask.\n - Calculates the percent the goal is complete by looking for completed subtasks.\n - Dark \u0026 Drop support for changing subtask status on a board overview.\n - Free account works in a multi-tenant way so you can access your goals from any client or the api securely.\n - Light and Dark Modes\n\n## Technologies\n\n### Backend\n - DotNet 8\n - Minimal API\n - Entity Framework + Postgres SQL\n - XUnit\n\n### Frontend Blazor Client\n - DotNet 8\n - Blazor WebAssembly\n - FluentUI\n - Apex Charts\n\n### Frontend Svelte Client\n - SvelteKit\n - Shadcn-UI for Svelte\n - Tailwind CSS\n - Apex Charts\n\n### iOS Client\n - SwiftUI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatplatypus%2Fachiever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatplatypus%2Fachiever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatplatypus%2Fachiever/lists"}