Dotnet-Core-Attendance-System
Attendance Web Application using .NET Core (CQRS pattern) & Vue.js
Prerequisite
- Install .Net Core 2.2 SDK https://dotnet.microsoft.com/download
- Install Node.js https://nodejs.org/en/download/
- Any relational database provider. https://docs.microsoft.com/en-us/ef/core/providers/
- Create your database and configure the connection string in appsettings.json
- Update DbContext option in Startup.cs (Skip these if you're using MSSQL)
Build
# Restore packages
dotnet restore
# Install Cake global
dotnet tool install -g Cake.Tool
# Run build.cake
# - this task will build Api & Test .net core project
# and install packages in Vue client
dotnet-cake build.cake
Run
cd .\src\Api\
# Run
dotnet run
# or Run with file watcher
dotnet watch run
- Vue client
- Use login:
admin
and password: 123456
cd .\src\Client\
# Start dev w/ hot module replacement
npm run serve
cd .\tests\Api\
# Run tests
dotnet test
# or Run with file watcher
dotnet watch test
Local Publish
# Publish .net core api and vue in `/dist` folder
dotnet-cake build.cake --task="Publish"
Features
- Fully separated Backend and Frontend
- Swagger for api documentation (URL: http://localhost:5000/swagger/index.html)
- CQRS Pattern (Command Query Responsibility Segregation)
- Authentication based on Identity Framework & JWT Bearer
- Integration Tests with XUnit
- Material design
- Realtime update on employee logs
Includes
-
.NET Core open-source general-purpose development platform maintained by Microsoft.
-
MediatR Simple, unambitious mediator implementation in .NET
-
Vue.js The Progressive JavaScript Framework.
-
Vuetify Material design component framework for Vue.js.
Online Resources