Welcome to the ExpenseTracker backend API – because who doesn't want to track every penny they spend? Built with .NET (because, obviously), using Clean Architecture, DDD, and CQRS – because we like our code as complicated as our finances. MongoDB is our database of choice, because SQL is just too mainstream. 😏
Check out the API docs in all their glory – because nothing says "production ready" like a public Swagger page.
- 🚀 Blazing fast API (if you don't count cold starts)
- 🧼 Clean Architecture (so clean, you’ll need sunglasses)
- 🧩 DDD & CQRS (because acronyms make everything better)
- 🍃 MongoDB (NoSQL, no problem, no relations, no worries)
- 🛡️ Enterprise-level overengineering
-
Clone this repo. Or don’t. I’m not your boss.
-
Install .NET. If you don’t have it, what are you even doing here?
-
Make sure MongoDB is running. Or just hope for the best.
-
Manually create these collections in MongoDB, because EF Core migrations are apparently too cool for NoSQL (for now):
- lookups
- wallets
- transactions
- applicationUsers
- applicationRoles
-
Import the data for
lookups,applicationRoles, andapplicationUsersfrom theseeddirectory. Yes, by hand. Automation is overrated anyway. -
Restore the dependencies:
dotnet restore
-
Run the API:
dotnet run
-
Watch as your expenses are tracked with the power of modern software architecture. Or at least, pretend they are.
Because messy architecture is so last season. A tangled up codebase that nobody understands. 🍝
Because we like to separate our concerns. And our code. And our hopes and dreams.
Because sometimes you just want to store JSON and call it a day.
Feel free to open a PR. Or don’t. We’ll survive either way.
MIT – because sharing is caring. Or something like that.