APPartment is a project (ASP.NET Core MVC with Web API) with an original purpose to serve as a platform where housemates keep track of everything in their apartment/house. Later on, the purpose changed to an entirely educational one. Throughout the project's development, lots of modifications have been made, for example, at the beginning Entity Framework Core with code first approach was used, then I migrated it to database first, later EF Core was entirely removed and I developed my own custom object-relational mapping framework with a facade design pattern.
- Further experience with generics, abstractions, reflection and asynchronous programming
- Ability to publish with Azure
- Basic work with SignalR
- Creating custom logos with Photoshop
- Further understanding of Entity Framework Core
- Further experience with JavaScript, jQuery, AJAX and JSON
- Building my own custom ORM Framework
- Incorporating Facade Design Pattern
- Working with AutoMapper
- Working with Web API
- Double authentication process - authentication for user, then authentication for home
- Home presence status, with ability to modify and set custom messages, informing other housemates
- Storage and traceability of inventory, hygiene tasks, chores and issues
- Metadata for all objects. Commenting and image storing functionalities
- Home settings
APPartment.Web.csproj
- controllers, views, startup, etc.APPartment.API.csproj
- all API controllersAPPartment.Common.csproj
- configurationAPPartment.Infrastructure.csproj
- base controllers (check outBaseCRUDController.cs
), services (check outBaseCRUDService.cs
andMapperService.cs
), view models (DTOs), custom UI hint attributes, etc.APPartment.Data.csproj
- facade, server models, etc.APPartment.ORM.Framework.csproj
-DaoContext.cs
, sql query provider, lambda expression to sql clause translator, declarations, attributes, etc.APPartment.Tests.csproj
- xUnit testsSQL
folder - all scripts in order to build the database