https://github.com/profjordanov/news-rest-service
Xamarin Android client and REST service based on ASP.NET Core Web API, Entity Framework Core and SQL Server that holds news.
https://github.com/profjordanov/news-rest-service
asp-net-core-web-api entity-framework-core news newsapi sql-server-database
Last synced: 12 days ago
JSON representation
Xamarin Android client and REST service based on ASP.NET Core Web API, Entity Framework Core and SQL Server that holds news.
- Host: GitHub
- URL: https://github.com/profjordanov/news-rest-service
- Owner: profjordanov
- License: mit
- Created: 2018-08-12T05:50:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-05-07T11:56:03.000Z (almost 4 years ago)
- Last Synced: 2025-03-24T17:14:41.805Z (29 days ago)
- Topics: asp-net-core-web-api, entity-framework-core, news, newsapi, sql-server-database
- Language: C#
- Homepage:
- Size: 860 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: News.sln
- License: LICENSE
Awesome Lists containing this project
README
# News REST Service
REST service based on ASP.NET Core Web API, Entity Framework Core and SQL Server that holds news.
## Client Applications:
- [x] ASP.NET Core MVC
- [x] Xamarin Android## Endpoints:
- [x] GET /api/news – returns all news ordered by publish date.
- [x] POST /api/news – creates a news item by given title, content and publish date.
- [x] PUT /api/news/{id} – updates an existing news item by given id (given in the request URL) and title, content and publish date.
- [x] DELETE /api/news/{id} – deletes an existing news item by given id.## Features:
- [x] AutoMapper
- [x] EntityFramework Core with SQL Server and ASP.NET Identity
- [x] JWT authentication/authorization
- [x] File logging with Serilog
- [x] Stylecop
- [x] Neat folder structure```
├───src
│ ├───configuration
│ └───server
│ ├───News.Api
│ ├───News.Business
│ ├───News.Core
│ ├───News.Data
│ └───News.Data.EntityFramework
└───tests
└───News.Business.Tests```
- [x] Swagger UI + Fully Documented Controllers
- [x] Global Model Errors Handler

- [x] Global Environment-Dependent Exception Handler
Development

Production

- [x] Neatly organized solution structure

- [x] Thin Controllers

- [x] Robust service layer using the [Either](http://optional-github.com) monad.

- [x] Safe query string parameter model binding using the [Option](http://optional-github.com) monad.
### Test Suite
- [x] xUnit
- [x] Autofixture
- [x] Moq
- [x] Shouldly
- [x] Arrange Act Assert Pattern