Skip to content

kemalk89/TaskSync

Repository files navigation

build project Quality Gate Status Coverage

Technical Overview

  • Architecture: The solution adopts principles from Clean Architecture and Domain-Driven Design (DDD)
  • Target Framework: .NET Core 8
  • EF Core 8 with PostgreSQL
  • Validation through FluentValidation
  • For security, JWT Bearer authentication is configured
  • Testing is implemented using xUnit with Testcontainers for PostgreSQL

Development

How to run project

For local development we need a developer certificate which can be setup with dotnet dev-certs https --trust.

  1. Create .env file by duplicating .env_template located in project root

  2. Start infrastructure (database etc) docker compose up -d

  3. Start the application

    • Option 1 - CLI: dotnet run --project TaskSync
    • Option 2 - VSCode: Hit F5
  4. Open the application

Run with Docker

docker compose up -d docker build -t tasksync -f Dockerfile_Local . docker run -it -p 7190:7190 --name tasksync-container-local tasksync

Database Development

This scripts allows to update the initial migration script.

sh _reset_db.sh

Build the project

dotnet build TaskSync.sln

Testing

Manual Testing with SwaggerUI

Auth0

Generate token:

curl --request POST \ --url 'https://dev-ng4mbx4gds2o61r1.eu.auth0.com/oauth/token' \ --header 'content-type: application/x-www-form-urlencoded' \ --data grant_type=client_credentials \ --data client_id=<CLIENT_ID> \ --data client_secret=<CLIENT_SECRET> \ --data audience=https://tasksync.api.de/api \ --data scope=openid

Copy the token and authorize in Swagger UI.

DevOps

Health Check Endpoint

The application exposes a basic health check endpoint used for monitoring and readiness probes: GET /api/health

Improvement Suggestions

About

Work in progress: A modern project management application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages