Skip to content

jcoliz/YoFi.V3

Repository files navigation

YoFi.V3

Build

This is the beginning of a structural refactor/rewrite of the YoFi project. YoFi was originally started on .NET Core 2.2, so it's time to modernize!

Currently, I'm collecting domain-independent building blocks of a more modern web stack. Once this is all together and working, I will start bringing actual YoFi code over to this project.

Technology Stack

Frontend

Backend

Development & Tooling

  • .NET Aspire - Cloud-ready stack orchestration
  • NUnit - Testing framework
  • Playwright - End-to-end testing framework
  • pnpm - Fast, disk space efficient package manager

Azure Resources

Architecture

See ARCHITECTURE.md for detailed architecture documentation and Architecture Decision Records for key design decisions.

graph TB
    User[User Browser]

    subgraph "Frontend"
        Nuxt[FrontEnd.Nuxt<br/>Vue 3 / Nuxt 4]
    end

    subgraph ".NET Backend"
        Backend[BackEnd<br/>ASP.NET Core]
        Controllers[Controllers<br/>HTTP API Layer]
        Application[Application<br/>Business Logic]
        Data[Data.Sqlite<br/>Entity Framework]
        Entities[Entities<br/>Data Models & Interfaces]

        Backend --> Controllers
        Controllers --> Application
        Application --> Data
        Data --> Entities
    end

    subgraph "Development Tools"
        AppHost[AppHost<br/>.NET Aspire]
        WireAPI[WireApiHost<br/>TS Generator]
    end

    User <-->|HTTP| Nuxt
    Nuxt <-->|REST API| Backend
    WireAPI -.->|Generates| Nuxt
    AppHost -.->|Orchestrates| Backend
    AppHost -.->|Orchestrates| Nuxt

    style Nuxt fill:#41b883
    style Backend fill:#512bd4
    style Application fill:#0078d4
    style Data fill:#6db33f
Loading

Project Structure

Getting Started

For more details about the various environments where the app is built to run, please see ENVIRONMENTS.md.

Running in Container

It's quick and easy to run the app:

  1. Clone the repository
  2. Ensure Docker is installed and running
  3. Build the containers
    ./scripts/Build-Container.ps1
    
  4. Run the containers
    ./scripts/Start-Container.ps1
    

This will open a browser window to the running app.

Development Prerequisites

  • .NET 10.0 SDK
  • Node.js 24+ and pnpm
  • Visual Studio 2022 or VS Code with C# Dev Kit

Running Development Environment

  1. Clone the repository
  2. Ensure all prerequisites installed
  3. Install npm packages for the Frontend:
    cd src/FrontEnd.Nuxt
    pnpm install
  4. Run the Aspire AppHost:
    cd src/AppHost
    dotnet watch
  5. Open the Aspire Dashboard (URL shown in console output)

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published