feat(frontend): Replace React with Blazor frontend
This commit is contained in:
48
CLAUDE.md
48
CLAUDE.md
@@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
NimbusFlow is a scheduling system with a **monorepo structure** containing separate backend and frontend applications:
|
||||
|
||||
- **Backend**: Python-based scheduling service using SQLite with a repository pattern
|
||||
- **Frontend**: React + TypeScript + Vite application
|
||||
- **Frontend**: .NET Blazor Server application with Bootstrap UI
|
||||
|
||||
### Backend Architecture
|
||||
|
||||
@@ -33,10 +33,26 @@ backend/
|
||||
|
||||
### Frontend Architecture
|
||||
|
||||
React application using:
|
||||
- TypeScript for type safety
|
||||
- Vite for fast development and building
|
||||
- ESLint for code linting
|
||||
.NET 8 Blazor Server application with the following structure:
|
||||
|
||||
```
|
||||
frontend/
|
||||
├── Components/
|
||||
│ ├── Layout/ # Layout components (NavMenu, MainLayout)
|
||||
│ └── Pages/ # Razor pages (Dashboard, Members, Schedules, Services)
|
||||
├── Models/ # C# models matching backend data structure
|
||||
├── Services/ # HTTP client services for API communication
|
||||
└── wwwroot/ # Static files and assets
|
||||
```
|
||||
|
||||
**Key Components:**
|
||||
|
||||
- **ApiService** (`Services/ApiService.cs`): HTTP client wrapper for Python backend API communication
|
||||
- **Models** (`Models/Member.cs`): C# data models (Member, Schedule, Service, Classification, etc.)
|
||||
- **Razor Components**: Interactive pages for member management, scheduling, and service administration
|
||||
- **Bootstrap UI**: Responsive design with Bootstrap 5 styling
|
||||
|
||||
The frontend communicates with the Python backend via HTTP API calls, expecting JSON responses that match the C# model structure.
|
||||
|
||||
## Development Commands
|
||||
|
||||
@@ -72,22 +88,28 @@ python main.py
|
||||
**Setup:**
|
||||
```bash
|
||||
cd frontend
|
||||
npm install
|
||||
# Restore NuGet packages
|
||||
dotnet restore
|
||||
```
|
||||
|
||||
**Development:**
|
||||
```bash
|
||||
cd frontend
|
||||
# Start development server
|
||||
npm run dev
|
||||
# Start development server (with hot reload)
|
||||
dotnet watch
|
||||
# Or run without watch
|
||||
dotnet run
|
||||
|
||||
# Build for production
|
||||
npm run build
|
||||
# Run linting
|
||||
npm run lint
|
||||
# Preview production build
|
||||
npm run preview
|
||||
dotnet build
|
||||
# Publish for deployment
|
||||
dotnet publish -c Release
|
||||
```
|
||||
|
||||
**Access:**
|
||||
- Development: https://localhost:5001 (HTTPS) or http://localhost:5000 (HTTP)
|
||||
- The application expects the Python backend API to be available at http://localhost:8000/api/
|
||||
|
||||
## Core Business Logic
|
||||
|
||||
The **SchedulingService** implements a sophisticated member scheduling algorithm:
|
||||
|
||||
Reference in New Issue
Block a user