nArchitecture Project
💻 About The Project
As Kodlama.io, we decided to share examples of completed projects. Inspired by Clean Architecture, nArchitecture is a monolith project that showcases advanced development techniques. The project includes Clean Architecture, CQRS, Advanced Repository, Dynamic Querying, JWT, OTP, Google & Microsoft Auth, Role-Based Management, Distributed Caching (Redis), Logging (Serilog), Elastic Search, Code Generator and much more. By contributing, you can support the project and learn new things.
Built With
⚙️ Getting Started
To get a local copy up and running follow these simple steps.
Prerequisites
- .NET 7
Installation
- Clone the repo
git clone --recurse-submodules https://github.com/kodlamaio-projects/nArchitecture.git - Configure
appsettings.jsonin WebAPI. - Run
Update-Databasecommand with Package Manager Console in WebAPI to create tables in sql server.
- Run the following command to update submodules
git submodule update --remote
🚀 Usage
- Run example WebAPI project
dotnet run --project src\rentACar\WebAPI
Analysis
- If not, Install dotnet tool
dotnet tool restore. - Run anaylsis command
dotnet roslynator analyze
Format
- If not, Install dotnet tool
dotnet tool restore. - Run format command
dotnet csharpier .
🚧 Roadmap
See the open issues for a list of proposed features (and known issues).
🤝 Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project and clone your local machine
- Create your Feature Branch (
git checkout -b <Feature>/<AmazingFeature>') - Develop
- Commit your Changes (
git add . && git commit -m '<SemanticCommitType>(<Scope>): <AmazingFeature>') 💡 Check Semantic Commit Messages - Push to the Branch (
git push origin <Feature>/<AmazingFeature>) - Open a Pull Request
Contributing on Core Packages With This Repo:
- Fork the nArchitecture.Core project
- Locate to
src/corePackagespath (cd .\src\corePackages\) - Add your forked nArchitecture.Core repository remote address (
git remote add <YourUserName> https://github.com/<YourUserName>/nArchitecture.Core.git) - Create your Feature Branch (
git checkout -b <Feature>/<AmazingFeature>') - Develop
- Commit your changes (
git add . && git commit -m '<SemanticCommitType>(<Scope>): <AmazingFeature>') 💡 Check Semantic Commit Messages - Push to the branch (
git push <YourUserName> --set-upstream HEAD:refs/heads/<Feature>/<AmazingFeature>) - Open a Pull Request
If your pull request is accepted and merged:
- Locate to
src/corePackagespath (cd .\src\corePackages\) - Switch to main branch
git checkout main - Locate root path
/path (cd ..\..\) - Pull repo and submodule
git submodule update --remote - Commit your changes (
git add . && git commit -m 'build(corePackages): update submodule') - Push to the Branch (
git push origin <Feature>/<AmazingFeature>) - Open a Pull Request
⚖️ License
Distributed under the MIT License. See LICENSE for more information.
📧 Contact
Project Link: https://github.com/kodlamaio-projects/nArchitecture
