/Dotnet-Core-Attendance-System

Attendance Web Application using .NET Core (CQRS pattern) & Vue.js

Primary LanguageC#MIT LicenseMIT

Dotnet-Core-Attendance-System

Attendance Web Application using .NET Core (CQRS pattern) & Vue.js

CircleCI paypal

Prerequisite

  1. Install .Net Core 2.2 SDK https://dotnet.microsoft.com/download
  2. Install Node.js https://nodejs.org/en/download/
  3. 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

  • Api project
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
  • Integration Tests
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
  • Realtime Demo

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