How itu-bdsa23-group6/chirp works
Chirp is an ASP.NET Core social-feed application: users register or sign in, browse a public feed or their timeline, and can publish, follow authors, and react to Cheeps. Page handlers invoke repository interfaces; infrastructure repositories implement those operations over an Entity Framework context. The source index supports the handler, dependency-registration, and repository relationships shown here. Some UI rendering and database-provider details are not established by the excerpts, so they are omitted.
Main entry points: DatabaseContext.cs Entity context · Startup.cs Service setup · LikeDisRepository.cs Opinion repository · CheepRepository.cs Cheep repository
Components 15
Web application
- Account pages
src/Chirp.Web/Areas/Identity/Pages/Account - Public feed
src/Chirp.Web/Pages/Public.cshtml.cs - User timeline
src/Chirp.Web/Pages/UserTimeline.cshtml.cs - Service setup
src/Chirp.Web/Startup.cs - Web entry
src/Chirp.Web/Program.cs
Domain contracts
- Repository contracts
src/Chirp.Core/Interfaces - Request DTOs
src/Chirp.Core/DTOs
Persistence infrastructure
- Author repository
src/Chirp.Infrastructure/AuthorRepository.cs - Cheep repository
src/Chirp.Infrastructure/CheepRepository.cs - Opinion repository
src/Chirp.Infrastructure/LikeDisRepository.cs - Entity context
src/Chirp.Infrastructure/Database/DatabaseContext.cs - Database initializer
src/Chirp.Infrastructure/Database/DatabaseInitializer.cs
Domain and state
- Domain entities
src/Chirp.Core/Models - Opinion enum
src/Chirp.Core/Enums/AuthorCheepOpinion.cs
Other components
- Visitor
Connections 21
- Visitor → Account pages: registers or signs in
- Visitor → Public feed: browses feed
- Visitor → User timeline: views timeline
- Web entry → Service setup: starts
src/Chirp.Web/Program.cs - Service setup → Entity context: configures
src/Chirp.Web/Startup.cs - Service setup → Author repository: registers
src/Chirp.Web/Startup.cs - Service setup → Cheep repository: registers
src/Chirp.Web/Startup.cs - Service setup → Opinion repository: registers
src/Chirp.Web/Startup.cs - Account pages → Repository contracts: uses author contract
src/Chirp.Web/Areas/Identity/Pages/Account/Register.cshtml.cs - Public feed → Repository contracts: uses repository contracts
src/Chirp.Web/Pages/Public.cshtml.cs - User timeline → Repository contracts: uses repository contracts
src/Chirp.Web/Pages/UserTimeline.cshtml.cs - Repository contracts → Request DTOs: accepts or returns
src/Chirp.Core/Interfaces/ICheepRepository.cs - Author repository → Entity context: queries and saves
src/Chirp.Infrastructure/AuthorRepository.cs - Cheep repository → Entity context: queries and saves
src/Chirp.Infrastructure/CheepRepository.cs - Cheep repository → Author repository: looks up authors
src/Chirp.Infrastructure/CheepRepository.cs - Cheep repository → Opinion repository: loads opinions
src/Chirp.Infrastructure/CheepRepository.cs - Opinion repository → Author repository: looks up authors
src/Chirp.Infrastructure/LikeDisRepository.cs - Opinion repository → Entity context: queries opinions
src/Chirp.Infrastructure/LikeDisRepository.cs - Database initializer → Entity context: initializes
src/Chirp.Infrastructure/Database/DatabaseInitializer.cs - Entity context → Domain entities: maps entities
src/Chirp.Infrastructure/Database/DatabaseContext.cs - Opinion repository → Opinion enum: classifies reactions
src/Chirp.Infrastructure/LikeDisRepository.cs