Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thatplatypus/achiever

A modern goal tracking webapp powered by .net 8 minimal api backend with a blazor wasm client
https://github.com/thatplatypus/achiever

blazor blazor-webassembly csharp dotnet entity-framework identity minimal-api postgres

Last synced: 1 day ago
JSON representation

A modern goal tracking webapp powered by .net 8 minimal api backend with a blazor wasm client

Awesome Lists containing this project

README

        

# Achiever

Achiever 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.

The solution is structured into the following projects:

1. **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.
- DotNet Minimal API Endpoint structured to the REPR Pattern
- MultiTenant Account Structure
- CQRS seperation
- Entity Framework backed by Postgres

3. **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.
Blazor Client [demo site](https://achiever-app.azurewebsites.net/goals)


Blazor Client Goal View
Blazor Client Dark Mode

4. **Shared**: This project contains code that is shared between the Api and Client projects. This might include data models, constants, or utility functions.

5. **Test**: This project contains tests for the Api and Client projects. It helps ensure the reliability and correctness of the application's code.

6. **iOS**: This project contains a native SwiftUI iOS app for the Api backend.
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.


iOS Login Screen
iOS Goal View

8. **Svelte**: This project contains a client-side Svelte app built with shadcn-ui for svelte and tailwind.
Svelete [demo site](https://happy-smoke-04e17cc1e.4.azurestaticapps.net/)


Svelte Client Light Mode
Svelte Client Dark Mode

Achiever 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.

## Features

A simple app to help track your progress on goals.

- Create an unlimited number of goals with optional target dates.
- Create an unlimited number of SubTasks per goal to help breakdown complex goals.
- Track estimated hours, notes, and status of each subtask.
- Calculates the percent the goal is complete by looking for completed subtasks.
- Dark & Drop support for changing subtask status on a board overview.
- Free account works in a multi-tenant way so you can access your goals from any client or the api securely.
- Light and Dark Modes

## Technologies

### Backend
- DotNet 8
- Minimal API
- Entity Framework + Postgres SQL
- XUnit

### Frontend Blazor Client
- DotNet 8
- Blazor WebAssembly
- FluentUI
- Apex Charts

### Frontend Svelte Client
- SvelteKit
- Shadcn-UI for Svelte
- Tailwind CSS
- Apex Charts

### iOS Client
- SwiftUI