Choosing the Best Database Approach for Our .NET & Angular Project
Hello everyone,
My friend and I are working on a banking website project using Angular, .NET, and SQL Server (SSMS). This project is part of our 4-month internship, and we want to choose the best approach for our database.
Right now, our database is local, but we’re wondering if that’s the best option. Would it be better to keep it local, or should we look for a centralized solution to work more independently?
Previously, we worked on a library project where I developed the admin’s add book function, and she developed the client’s retrieve all books function. Using Firebase allowed her to access the data instantly without waiting for my part to be done, which made development easier.
Our supervisor mentioned that Docker could help, but we don’t fully understand how. Alternatively, would switching to a centralized database like MongoDB or Firebase be a better option?
We are beginners in .NET, and following tutorials helps us a lot. We also noticed that most .NET CRUD tutorials on YouTube use SQL Server, and we’re not sure why.
Additionally, we’ve seen that many centralized solutions are not free—is that true? If so, what are the best free or affordable options?
We’d love to hear your thoughts! Would you recommend staying with a local database, using Docker, or switching to a centralized solution?
Thanks in advance! 😊
1 Reply
Docker would help by giving you a common environment
The dockerfile would specify the database version, how it connects to the app, and so on. Then you run it and done
You don't need to individually install the same version of the database or anything
One thing I found makes it all much easier is .NET Aspire
Many tutorials use MSSQL since it's kinda treated as the default. Official docs like to use it, it's also a Microsoft product, so it kinda stuck
The license costs an arm and a leg though, so I see Postgres used much more often. I use it myself.
Ideally, what you're looking to do, is use Docker or Aspire to define all the dependencies and how they connect, push it all to Github, and everybody could work on their individual branch to avoid conflicts, with frequent PRs to master