This project aims to be a boilerplate for C# Web API project using MongoDB backend.
The project is broken down into 3 projects
- Data Layer
- Web API
- Website
To Create a new data model:
- Create a data model class under webAppTemplate.MongoData > Model which inherit MongoEntity e.g.
using webAppTemplate.MongoData.Entities.Base;
namespace webAppTemplate.MongoData.Model
{
public class Car : MongoEntity
{
public string Make { get; set; }
}
}
- Create a repository interface under webAppTemplate.MongoData > Interface which inherits IEntityService
using webAppTemplate.MongoData.Model;
using webAppTemplate.MongoData.Service;
namespace webAppTemplate.MongoData.Interface
{
public interface ICarRepository : IEntityService<Car>
{
}
}
- Create a repository class under webAppTemplate.MongoData > Repository which inherits EntityService and YourNewRepositoryInterface
using webAppTemplate.MongoData.Interface;
using webAppTemplate.MongoData.Model;
using webAppTemplate.MongoData.Service;
namespace webAppTemplate.MongoData.Repository
{
public class CarRepository : EntityService<Car>, ICarRepository
{
}
}
web api uses simple injector. If you have a new repository, register the class in Webapi > Global.asax.cs add the code:
container.Register<YourNewRepositoryInterface, YourNewRepository>(Lifestyle.Scoped);
- Authorization and Token
- YeoMan
- Angular/React sample website
MIT