Skip to content

Commit ad4e70b

Browse files
author
aligneddev
committed
scaffolding via spec
1 parent d414581 commit ad4e70b

275 files changed

Lines changed: 21057 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.aspire/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"appHostPath": "..\\src\\BikeTracking.AppHost\\BikeTracking.AppHost.csproj"
3+
}

BikeTracking.slnx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Solution>
2+
<Folder Name="/src/">
3+
<Project Path="src/BikeTracking.Api/BikeTracking.Api.csproj" />
4+
<Project Path="src/BikeTracking.AppHost/BikeTracking.AppHost.csproj" />
5+
<Project Path="src/BikeTracking.Domain.FSharp/BikeTracking.Domain.FSharp.fsproj" />
6+
<Project Path="src/BikeTracking.Frontend/BikeTracking.Frontend.esproj" />
7+
<Project Path="src/BikeTracking.ServiceDefaults/BikeTracking.ServiceDefaults.csproj" />
8+
</Folder>
9+
</Solution>

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Commute Bike Tracker
2+
3+
Scaffolded starter structure for a local-first Bike Tracking application.
4+
5+
## What exists now
6+
7+
- .NET 10 Aspire AppHost orchestration
8+
- .NET 10 Minimal API backend with hello endpoints
9+
- F# domain project placeholder
10+
- Aurelia 2 frontend (Vite) with a simple hello screen
11+
- No business logic implemented yet
12+
- No database schema created yet
13+
14+
## Project structure
15+
16+
- src/BikeTracking.AppHost - Aspire orchestration host
17+
- src/BikeTracking.Api - Minimal API service
18+
- src/BikeTracking.ServiceDefaults - Shared Aspire defaults/telemetry wiring
19+
- src/BikeTracking.Domain.FSharp - Domain layer starter project (F#)
20+
- src/BikeTracking.Frontend - Aurelia 2 frontend app
21+
22+
## Prerequisites
23+
24+
- .NET SDK 10.x
25+
- Node.js 20+ and npm
26+
27+
## Quick start
28+
29+
1. Install frontend dependencies:
30+
31+
```powershell
32+
cd src/BikeTracking.Frontend
33+
npm install
34+
```
35+
36+
2. Run the full local app through Aspire:
37+
38+
```powershell
39+
cd ../..
40+
dotnet run --project src/BikeTracking.AppHost
41+
```
42+
43+
3. Open Aspire dashboard and launch services:
44+
- `frontend` for the Aurelia hello screen
45+
- `api` for the Minimal API
46+
47+
## API starter endpoints
48+
49+
- `/` returns API running message
50+
- `/hello` returns hello message
51+
52+
## Next step
53+
54+
Use SpecKit to define the first vertical slice before implementing features.

global.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"sdk": {
3+
"rollForward": "latestMinor",
4+
"version": "10.0.0"
5+
}
6+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net10.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<ProjectReference Include="..\BikeTracking.ServiceDefaults\BikeTracking.ServiceDefaults.csproj" />
11+
<ProjectReference Include="..\BikeTracking.Domain.FSharp\BikeTracking.Domain.FSharp.fsproj" />
12+
</ItemGroup>
13+
14+
</Project>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@ApiService_HostAddress = http://localhost:5436
2+
3+
GET {{ApiService_HostAddress}}/weatherforecast/
4+
Accept: application/json
5+
6+
###

src/BikeTracking.Api/Program.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var builder = WebApplication.CreateBuilder(args);
2+
3+
builder.AddServiceDefaults();
4+
5+
var app = builder.Build();
6+
7+
app.MapGet("/", () => Results.Ok(new { message = "Bike Tracking API is running." }));
8+
app.MapGet("/hello", () => Results.Ok(new { message = "Hello from Bike Tracking API." }));
9+
10+
app.MapDefaultEndpoints();
11+
12+
app.Run();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"$schema": "https://json.schemastore.org/launchsettings.json",
3+
"profiles": {
4+
"http": {
5+
"commandName": "Project",
6+
"dotnetRunMessages": true,
7+
"launchBrowser": false,
8+
"applicationUrl": "http://localhost:5436",
9+
"environmentVariables": {
10+
"ASPNETCORE_ENVIRONMENT": "Development"
11+
}
12+
},
13+
"https": {
14+
"commandName": "Project",
15+
"dotnetRunMessages": true,
16+
"launchBrowser": false,
17+
"applicationUrl": "https://localhost:7524;http://localhost:5436",
18+
"environmentVariables": {
19+
"ASPNETCORE_ENVIRONMENT": "Development"
20+
}
21+
}
22+
}
23+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning"
6+
}
7+
}
8+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning"
6+
}
7+
},
8+
"AllowedHosts": "*"
9+
}

0 commit comments

Comments
 (0)