A minimal dating app skeleton with Backend: .NET 9 (C#) and Frontend: Angular (TypeScript). This README only covers what the project is and how to run it locally.
- Goal: Quick-start a simple, split FE/BE app for learning and experiments.
- Architecture: Decoupled frontend (Angular) and backend (ASP.NET Core).
- Backend: ASP.NET Core (.NET 9), Controllers, Swagger/postman
- Frontend: Angular (v18+), TypeScript, HttpClient, Angular Router.
simple_dating_app
├─ API
│ ├─ API.csproj
│ ├─ appsettings.Development.json
│ ├─ appsettings.json
│ ├─ Controllers
│ │ ├─ AccountController.cs
│ │ ├─ BaseApiController.cs
│ │ ├─ MembersController.cs
│ │ └─ WeatherForecastController.cs
│ ├─ Data
│ │ ├─ AppDbContext.cs
│ │ └─ Migrations
│ │ ├─ 20250928083454_InitialCreate.cs
│ │ ├─ 20250928083454_InitialCreate.Designer.cs
│ │ ├─ 20250929115021_UserEntityUpdated.cs
│ │ ├─ 20250929115021_UserEntityUpdated.Designer.cs
│ │ └─ AppDbContextModelSnapshot.cs
│ ├─ dating.db
│ ├─ DTOs
│ │ ├─ LoginDto.cs
│ │ ├─ RegisterDto.cs
│ │ └─ UserDto.cs
│ ├─ Entities
│ │ └─ AppUser.cs
│ ├─ Extensions
│ │ └─ AppUserExtensions.cs
│ ├─ Interfaces
│ │ └─ ITokenService.cs
│ ├─ Program.cs
│ ├─ Properties
│ │ └─ launchSettings.json
│ ├─ Services
│ │ └─ TokenService.cs
│ └─ WeatherForecast.cs
├─ client
│ ├─ .editorconfig
│ ├─ .postcssrc.json
│ ├─ angular.json
│ ├─ eslint.config.js
│ ├─ package-lock.json
│ ├─ package.json
│ ├─ public
│ │ └─ favicon.ico
│ ├─ README.md
│ ├─ src
│ │ ├─ app
│ │ │ ├─ app.config.ts
│ │ │ ├─ app.css
│ │ │ ├─ app.html
│ │ │ ├─ app.routes.ts
│ │ │ └─ app.ts
│ │ ├─ index.html
│ │ ├─ main.ts
│ │ └─ styles.css
│ ├─ ssl (for simulation only)
│ │ ├─ localhost-key.pem
│ │ └─ localhost.pem
│ ├─ tsconfig.app.json
│ ├─ tsconfig.json
│ └─ tsconfig.spec.json
├─ ReadMe.md
└─ simple_dating_app.sln
- .NET SDK 9
- Node.js 22.16.0 LTS + npm
- Restore, build, and run:
cd api
dotnet restore
dotnet build
dotnet run- The API typically listens on one of these ports (machine-dependent):
- http://localhost:5000 or http://localhost:5188
- Swagger: http://localhost:/swagger
- Install deps and start the dev server:
cd ../client
npm ci
npm start # same as: ng serve- The app runs at:
- http://localhost:4200
- Note: Configure the API base URL in your Angular code (e.g., environment.ts) to match the backend port.
- Open Swagger at http://localhost:/swagger and call GET /api/ping.
- In the Angular app, call the same endpoint via HttpClient and show the response to verify FE ⇄ BE communication.
Project for personal education only!