How we select technologies for a project
We select technologies for each project in several steps.
Step 1: Define technical requirements for a project. This is most complicated step, because inadequate collection of requirements entails a wrong technical solution. With our technical architect and system design process we do this step right.
Step 2: Decompose the project to logical and business components.
Step 3: Designing a product workflow. This stage gives a general understanding between the client and our team. For example: "Where does the Mobile App end and the Web start?"
Step 4: Design a technical solution by component/technology. This design stage determines the choice of solution and technology for the components of the project.
The Registration and Authorization component will be implemented using Amazon Cognito service since we need to be able to log in with both the Mobile App and the Web. The real-time synchronization between the Web and the Mobile App should be available for the user profile. &Nbsp; The notification component for the Web will be implemented based on the written async server node.js + socket.io and the RabbitMQ queue
Our point is that there are no universal solutions, there are well done system design process, where we choose systems and technologies, that seamlessly fit in and solve business task of the project.
In order to speed up the development of projects, we create commonly used open source components.