Project Planning

Israel Silva
2 min readOct 4, 2021

First of all I need to define the features that my platform will have, after a lot of thinking I came up with this:

  • Register
  • Login
  • Profile
  • Ideas
  • Filter
  • Apply for an idea
  • Approve/reprove an application
  • Chat
  • Tasks
  • Invite to my idea
  • Privacy control
  • Like an idea
  • Message board

Some of this features will be free for life, others will be available only on the premium version, this is one way that I thought about to monetize this platform.

With the features defined, now I created a mind map of the platform:

Well that is define, so now I created all the tasks for each feature.

Technology

For this project I decide to use a technology that I never used before, that is Docker (https://www.docker.com/) containers and for the Architecture I will use Microservices (https://microservices.io/).

For that I first divide my project into microservices and I came up with the following:

  • User
  • Authentication
  • Ideas
  • Chat
  • Tasks
  • Message Board

So I will have 6 microservices running on docker containers and a API Gateway, that will redirect the requests for the right services.

I was struggling to define what I will use for the backend, I was choosing between .NET 6 with SQL Server, .NET 6 with MongoDB and Nodejs with MongoDB. Since my background is more of .NET, I decide to use the first options .NET 6 and SQL Server database, because I never used .NET 6 for a project and I want to try Dapper to make the database access. But I will probably test the MongoDB to see performance wise what is the best option.

For the frontend was already decided that I will use Vue.

I think all the steps to start programing is almost done. I will now work on the solution on Visual Studio.

--

--

Israel Silva

Jesus follower, Bible reader, God’s son, happy husband and father, biker, runner, entrepreneur, hustler, cooker, software engineer