Skip to content

This project is a simple REST API that expands the experience of CatchUp application, the News API client app, with the possibility of saving favorite news sources. It is implemented with C# language, ASP.NET Core Framework, Entity Framework Core, and MySQL database. It also illustrates Domain-Driven Design approach with tactical patterns.

License

Notifications You must be signed in to change notification settings

upc-pre-202520-1asi0730-7461/catch-up-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Catch-Up Platform (catch-up-platform)

Overview

Catch-Up Platform is a small ASP.NET Core service that provides an API to manage users' favorite news sources. The project demonstrates a clean package structure separated into bounded contexts (news and shared) and follows simple command/query service patterns with Entity Framework Core persistence.

Features

  • List favorite sources scoped to a News API key
  • Retrieve a favorite source by its identifier
  • Retrieve a favorite source by News API key + source id
  • Create (persist) a new favorite source
  • Custom ASP.NET Core route naming convention to use kebab-case for API routes
  • Custom Entity Framework naming strategy to convert identifiers to snake_case and plural table names.

Technologies

  • C# 12+ and .NET 9
  • ASP.NET Core (REST controllers)
  • Entity Framework Core
  • PlantUML (architecture diagrams in docs/)

Technical stories

The API-focused technical stories for frontend integration are in docs/user-stories.md.

Class diagram

A PlantUML class diagram that reflects the code structure and bounded contexts is available at docs/class-diagram.puml.

Getting started (quick)

To run the application locally (recommended: macOS / Linux / Windows):

dotnet run --project CatchUpPlatform.API

Or from the API directory:

cd CatchUpPlatform.API
dotnet run

Or build and run the dll:

dotnet build
dotnet run --project CatchUpPlatform.API

About

This project is a simple REST API that expands the experience of CatchUp application, the News API client app, with the possibility of saving favorite news sources. It is implemented with C# language, ASP.NET Core Framework, Entity Framework Core, and MySQL database. It also illustrates Domain-Driven Design approach with tactical patterns.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published