{"id":15003123,"url":"https://github.com/aleksandromilenkov/cityinfoapi","last_synced_at":"2026-03-27T02:16:55.317Z","repository":{"id":217744123,"uuid":"738251429","full_name":"aleksandromilenkov/CityInfoAPI","owner":"aleksandromilenkov","description":"ASP.NET Web API - Secured, Documented and much more","archived":false,"fork":false,"pushed_at":"2024-07-22T21:05:40.000Z","size":12879,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-18T13:57:44.948Z","etag":null,"topics":["asp-net-core","asp-net-web-api","dependency-injection","entity-framework-core","json-web-token","microsoft-sql-server","postman","swagger","swashbuckle","versioning"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleksandromilenkov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-02T19:44:07.000Z","updated_at":"2024-07-22T21:05:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"332ec91e-7ff9-4f56-bbf3-ca360b14d6bf","html_url":"https://github.com/aleksandromilenkov/CityInfoAPI","commit_stats":null,"previous_names":["aleksandromilenkov/cityinfoapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandromilenkov%2FCityInfoAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandromilenkov%2FCityInfoAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandromilenkov%2FCityInfoAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandromilenkov%2FCityInfoAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleksandromilenkov","download_url":"https://codeload.github.com/aleksandromilenkov/CityInfoAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243153895,"owners_count":20244843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","asp-net-web-api","dependency-injection","entity-framework-core","json-web-token","microsoft-sql-server","postman","swagger","swashbuckle","versioning"],"created_at":"2024-09-24T18:56:12.282Z","updated_at":"2025-12-25T06:52:28.412Z","avatar_url":"https://github.com/aleksandromilenkov.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"#CityInfo REST API Made with ASP.NET Web API 6  \nIn this API you can find 2 entities: City and PointOfInterest  \nAll Cities have their own PointOfInterest, so there is 1 to many relationship between them.  \nI'm using Microsoft SQL Server for the database.  \nYou can make all the CRUD operations including PATCH request too.  \nI'm using AutoMapper to map the DTO's when returning them to the client.  \nI'm also using Logger to logging out some info.  \nIn the api there is FileController where you can download a file.  \nI'm using Entity Framework to manipulating with the Db.  \nThe API is designed with Interface-Repository pattern and is using asynchronous calls.  \nI've implemented Searching, Filtering and Paging too.  \nYou can search the cities by their name or filter them out by their name. Also you can put the current page and how many cities per page for the paging funcionality.  \nThis API is using Token based Authentication and Authorization.  \nYou can login with Username and Password and get Token in return. Then the API is secured so you must provide the Bearer token with every API call in order to get the data.  \nAlso I've implementend an Authorization Policy but only for demo purposes( it is commented out ) where users only for specific city can pull out info from the API.  \nThis API is also using Versioning, the City Controller is using Version 1.0 and 2.0 while the PointOfInterests Controller is using only version 2.0  \nAlso I've been documented this API. I'm using Swagger support together with XML comments and Described Response Types to see what is the return type and what are the schemas.  \n\nThe API is using the following packages:  \n - AutoMapper.Extensions.Microsoft.DependencyInjection  \n - Microsoft.AspNetCore.Authentication.JwtBearer\n - Microsoft.AspNetCore.JsonPatch\n - Microsoft.AspNetCore.Mvc.NewtonsoftJson\n - Microsoft.AspNetCore.Mvc.Versioning\n - Microsoft.EntityFrameworkCore\n - Microsoft.EntityFrameworkCore.Design\n - Microsoft.EntityFrameworkCore.SqlServer\n - Microsoft.EntityFrameworkCore.Tools\n - Microsoft.IdentityModel.Tokens\n - Serilog.AspNetCore\n - Swashbuckle.AspNetCore\n - System.IdentityModel.Tokens.Jwt\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandromilenkov%2Fcityinfoapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleksandromilenkov%2Fcityinfoapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandromilenkov%2Fcityinfoapi/lists"}