How felixsfd/lp-concerts-feed works
This repository implements LPshows.live, a concert-calendar application with a web client, an HTTP API, and Lambda-based features. The principal workflow is browsing concerts: API controllers request concert data from tour services, which are configured alongside the tours database. Administrators can also manage concerts and locations; the tree additionally shows setlist management and imports, bookmark and calendar features, concert synchronization, and push notifications. The excerpts confirm only selected controller, service-registration, authentication, and synchronization wiring, so uncertain calls between other subsystems are omitted.
Main entry points: Program.cs ASP.NET API · app.routes.ts Angular application · ConcertsController.cs Concert endpoints · CountriesController.cs Location endpoints
Components 21
Web client
- Angular application
frontend/lp-calendar-web/src/app/app.routes.ts - OIDC authentication
frontend/lp-calendar-web/src/app/auth/auth.service.ts
HTTP API
- ASP.NET API
Server.Api/Program.cs - Concert endpoints
Server.Api/Controllers/ConcertsController.cs - Location endpoints
Server.Api/Controllers/CountriesController.cs
Domain and storage
- Concert service
Service.Tours/ConcertService.cs - Location service
Service.Tours/LocationService.cs - Tours database
Database.Tours/ToursDbContext.cs - Concert repository
Database.Concerts/IConcertRepository.cs - Setlist service
Service.Setlists/SetlistService.cs - Setlists database
Database.Setlists/SetlistsDbContext.cs - MediaWiki client
Common.WikiMedia/Repositories/WikiMediaRepository.cs
Lambda features
- Concert synchronization
- Concert list Lambda
Lambda.ListConcerts/src/Lambda.ListConcerts/Function.cs - Bookmark Lambdas
Lambda.BookmarksRead/src/Lambda.BookmarksRead/Function.cs - Calendar feed Lambda
Lambda.CalendarFeed/src/Lambda.CalendarFeed/Function.cs - Push notification Lambdas
Lambda.Push.Sender/src/Lambda.Push.Sender/Function.cs
Other components
- Calendar user
- Amazon SNS
- MySQL
- DynamoDB
Connections 9
- Calendar user → Angular application: browses
- Angular application → OIDC authentication: checks identity
- Concert endpoints → Concert service: requests data
- Location endpoints → Location service: requests data
- ASP.NET API → Tours database: configures context
- ASP.NET API → MediaWiki client: registers client
- Concert synchronization → Concert repository: loads changes
- Concert list Lambda → Concert synchronization: runs sync
- Push notification Lambdas → Amazon SNS: receives messages