2 ms·
Like suggested by many people that the number of companies will not reach that scale, so starting small and simple is the most efficient. There are few things i
by wejick 6y ago
Like suggested by many people that the number of companies will not reach that scale, so starting small and simple is the most efficient. There are few things in mind that may help :
1. Define the domain segregation and be discipline on the implementation. It will not only help ease the process when the system need to be segregated into multiple service, but also help on organizing the team.
2. After segregating the domain, even if all of them live in the same database dont use `JOIN` as much as possible. Define the API for each domain and use it as the main communication.
3. As boring as it sounds, use boring technologies. Pick framework that has been used by many like Jango, Rails and Laravel. They offer not only tools and libraries but also programming pattern that will help us to implement domain segregation. The framework I mentioned have good established (way to work with if not integrated) ORM, event driven method, front end development and means to scale.
4. Usually postgreSQL is enough and can bring long way, just remember point 1 when designing the DB.
I think those points are quite straightforward and doesn't make the development more difficult, while trying to be future proof.