{"id":20016789,"url":"https://github.com/khachatur/cleanarchitectureapp","last_synced_at":"2026-04-08T16:02:14.494Z","repository":{"id":244144247,"uuid":"814398817","full_name":"khachatur/CleanArchitectureApp","owner":"khachatur","description":"CleanArchitectureApp is a modern, enterprise-level application built with ASP.NET Core, Entity Framework Core, React, and Tailwind CSS. It follows clean architecture principles to ensure separation of concerns and maintainability. The application is integrated with Microsoft Azure for deployment and utilizes Recoil for state management in the front","archived":false,"fork":false,"pushed_at":"2024-06-13T00:25:32.000Z","size":203,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T07:54:56.455Z","etag":null,"topics":["aspnetcore","azure","backend","ci-cd","ci-cd-pipeline","clean-architecture","entity-framework-core","frontend","react","recoil","state-management","tailwindcss","webapi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khachatur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-13T00:02:22.000Z","updated_at":"2025-09-17T07:20:57.000Z","dependencies_parsed_at":"2024-06-13T05:00:13.677Z","dependency_job_id":"de81caa2-bc10-42c8-b7c0-966459a5a8f9","html_url":"https://github.com/khachatur/CleanArchitectureApp","commit_stats":null,"previous_names":["khachatur/cleanarchitectureapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/khachatur/CleanArchitectureApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachatur%2FCleanArchitectureApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachatur%2FCleanArchitectureApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachatur%2FCleanArchitectureApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachatur%2FCleanArchitectureApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khachatur","download_url":"https://codeload.github.com/khachatur/CleanArchitectureApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachatur%2FCleanArchitectureApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","azure","backend","ci-cd","ci-cd-pipeline","clean-architecture","entity-framework-core","frontend","react","recoil","state-management","tailwindcss","webapi"],"created_at":"2024-11-13T08:13:13.415Z","updated_at":"2026-04-08T16:02:14.467Z","avatar_url":"https://github.com/khachatur.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CleanArchitectureApp\n\n## Overview\n\nCleanArchitectureApp is a modern, enterprise, test-covered, clean architecture application built with:\n\n- ASP.NET Core\n- Entity Framework Core\n- Microsoft Azure (App Services and Azure SQL)\n- React with Recoil\n- Tailwind CSS\n\n## Architecture\n\nThe project follows the Clean Architecture principles to ensure separation of concerns and maintainability.\n\n## Projects Structure\n\n- **Application**: Contains the business logic, DTOs, service interfaces, AutoMapper profiles, and validation.\n- **Core**: Contains the core entities and repository interfaces.\n- **Infrastructure**: Contains the data access logic, dependency injection configurations, and infrastructure-specific services.\n- **Presentation**: Contains the **REST API** and web front-end in **React**.\n- **Tests**: Contains unit and integration tests.\n\n## Getting Started\n\n### Prerequisites\n\n- .NET 8.0 SDK\n- Node.js and npm\n- Azure account (for deployment)\n\n### Running the API\n\n1. Navigate to the API project:\n   ```bash\n   cd src/Presentation/API\n   ```\n2. Run the project:\n   ```bash\n   dotnet run\n   ```\n\n### Running the Frontend\n\n1. Navigate to the front-end project:\n   ```bash\n   cd src/Presentation/Web\n   ```\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n3. Run the project:\n   ```bash\n   npm start\n   ```\n\n### Running Tests\n\n1. Navigate to the tests directory:\n   ```bash\n   cd tests\n   ```\n2. Run unit tests:\n   ```bash\n   dotnet test UnitTests/UnitTests.csproj\n   ```\n3. Run integration tests:\n   ```bash\n   dotnet test IntegrationTests/IntegrationTests.csproj\n   ```\n\n## Deployment\n\nFollow the steps to deploy the application to Azure App Services and Azure SQL.\n\n1. Azure App Services:\n   * Deploy the ASP.NET Core backend.\n   * Continuous deployment using GitHub Actions.     \n2. Azure SQL Database:\n   * Provision and configure the database.\n   * Migrate database schema using Entity Framework migrations.\n\n## CI/CD Pipeline\n\nUse GitHub Actions for CI/CD.\nExample workflow:\n\n```bash\nname: CI/CD Pipeline\n\non: [push]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v2\n    - name: Setup .NET\n      uses: actions/setup-dotnet@v1\n      with:\n        dotnet-version: '5.0.x'\n    - name: Restore dependencies\n      run: dotnet restore\n    - name: Build\n      run: dotnet build --no-restore\n    - name: Run tests\n      run: dotnet test --no-build --verbosity normal\n    - name: Publish\n      run: dotnet publish -c Release -o out\n    - name: Deploy to Azure Web App\n      uses: azure/webapps-deploy@v2\n      with:\n        app-name: 'YOUR_APP_NAME'\n        publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}\n        package: './out'\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push your branch\n5. Create a pull request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhachatur%2Fcleanarchitectureapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhachatur%2Fcleanarchitectureapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhachatur%2Fcleanarchitectureapp/lists"}