An comprehensive (not yet) university management web application.
This is a project created with the solely purpose of applying several topics that were presented during the Software Engineering graduate program.
- Create and edit Programs
- Create and edit Courses
- View Program Offers
- View Program Structures
- Create and edit Students
- Students can register to offers
- Authenticate using Google Firebase
- NET 6
- Rich domain model using DDD (Domain Driven Design)
- CQRS (Command Query Responsibility Segregation pattern)
- ASP.NET WebAPI
- Background workers using cron expressions
- EntityFrameworkCore as ORM
- UnitOfWork pattern using EntityFrameworkCore.DataAccess library
- MediatR
- AutoMapper as object-object mapper
- MySql
- Docker (including docker-compose)
- Single page application using Node and Angular 14
- Strongly-typed validation rules using FluentValidation
- Redis as Cache provider
- Messaging using Apache Kafka
- API Gateway
- Unit tests using AAA pattern (Arrange, Act, Assert):
First you will need NET 6 SDK. Then clone this repository and enter the /src directory
Make sure you have installed and configured docker in your environment. After that, you can run the below commands from the /src/ directory and get started with immediately.
docker-compose build
docker-compose up
Enter the BackgroundServices directory and start the project by running dotnet run
cd ElUniversidad.BackgroundServices
dotnet build
dotnet run
Now enter the API directory and start the project by running dotnet run
cd ..\ElUniversidad.API
dotnet build
dotnet run
After that you will be able to navigate to the https://localhost:7227/swagger or http://localhost:5227/swagger Last, enter the Web directory and start the project by running ng serve
cd ..\ElUniversidad.Web
ng serve
The web application should open or you can navigate to http://http://localhost:4200/
Kudos to the following contributors:
License This project is licensed under the MIT license. Copyright (c) 2022 Felipe C Machado.