StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
  1. Home
  2. Companies
  3. Africa COVID-19 Response Toolkit
Africa COVID-19 Response Toolkit logo

Africa COVID-19 Response Toolkit

Verified

A set of open source projects that allow any government or public entity to get up and running with a toolset to respond to COVID-19

ethiocovid19rt.com
28
Tools
2
Decisions
0
Followers

Tech Stack

Application & Data

7 tools

JavaScript logo
JavaScript
Node.js logo
Node.js
PostgreSQL logo
PostgreSQL
Vue.js logo
Vue.js
Serverless logo
Serverless
MobX logo
MobX
React Storybook logo
React Storybook

Utilities

4 tools

Slack logo
Slack
Amazon Cognito logo
Amazon Cognito
Telegram Bot API logo
Telegram Bot API
AWS IAM logo
AWS IAM

Team Members

Abdu Endris
Abdu EndrisJava Developer
Amanuel Nega
Amanuel Nega
Daniel Duro
Daniel DuroSoftware/Full-Stack Developer
dilu kefale
dilu kefale
Daniel Woldegiorgis
Daniel Woldegiorgis
Michael GENA
Michael GENACEO
nabebe
nabebe
Naod Yeheyes
Naod Yeheyes
SamAsEnd
SamAsEnd
Tekle Ayele
Tekle AyeleFounder
Tesh Tesfaye
Tesh TesfayeCo-founder, CEO
Yehualashet Abebe
Yehualashet AbebeDeveloper

Engineering Blog

Stack Decisions

Tekle Ayele
Tekle Ayele

Mar 14, 2023

Based on the requirements you have mentioned, I would recommend considering the following technology stack:

Backend Language: Java Java is a widely-used, highly performant and scalable backend language. It has a large community and a wide range of libraries and frameworks available, which would be useful for building your application.

Framework: Spring Boot Spring Boot is a popular framework for building Java-based web applications. It provides a wide range of features, including support for building RESTful APIs, security, and database integration. It is also highly customizable and well-suited to building large-scale applications.

Database: PostgreSQL or MongoDB PostgreSQL and MongoDB are both highly reliable and scalable databases that could be used for your application.

Streaming Platform: Kafka Kafka can be used as a distributed streaming platform for real-time data streaming and processing. It provides features such as fault tolerance, scalability, and high throughput. Kafka can be used to integrate with other parts of your technology stack, such as your database and caching layer, to provide a complete solution for real-time data processing.

Caching: Redis Redis can be used as a caching layer for frequently accessed data to improve the performance of your application.

Containerization: Docker Docker can be used to package your application and its dependencies into a single container, making it easier to deploy your application to different environments.

Orchestration: Kubernetes Kubernetes can be used to manage and scale your containers, providing features such as auto-scaling, load balancing, and rolling updates.

Angular, React, and Vue.js are all popular front-end frameworks with their own unique strengths and weaknesses. Here is a brief comparison of each framework, along with my recommendation for the use case you described:

Angular: Angular is a complete, opinionated framework that provides everything you need to build large-scale, complex applications. It includes a powerful templating system, a robust set of built-in directives and components, and a comprehensive set of tools for testing, debugging, and deploying your application. Angular is known for its strong TypeScript support, which makes it easier to write type-safe, maintainable code. However, the framework has a steeper learning curve and can be more difficult to set up and configure than other frameworks.

React: React is a lightweight, flexible framework that emphasizes component-based architecture and unidirectional data flow. It provides a virtual DOM, which allows for efficient rendering and updating of UI components. React is also known for its large ecosystem of third-party libraries and tools, which can be used to extend its functionality. However, React does not provide a complete solution out of the box, and developers will need to choose additional tools and libraries to build a full application.

Vue.js: Vue.js is a progressive framework that emphasizes simplicity and flexibility. It provides a templating system that allows for easy creation of reusable components and a reactive data system that enables efficient rendering and updating of UI components. Vue.js is known for its ease of use and gentle learning curve, making it a popular choice for small to medium-sized applications. However, it may not be as well-suited to building large-scale applications as Angular.

Based on the use case you described, my recommendation would be to use React. React's component-based architecture and virtual DOM would be well-suited to building a large-scale, complex application with many different UI components. Additionally, React's large ecosystem of third-party libraries and tools would provide a wide range of options for integrating with other parts of your technology stack.

Overall, this technology stack would provide a highly performant, scalable, and reliable foundation for your application. It would also provide a wide range of features and tools that would make it easier to develop and maintain your application over time.

96 views96
Comments
Mike Endale
Mike Endale

Feb 20, 2021

I’ve used both Pusher and Firebase for a real-time app. My recommendation is to use Firebase because it has better support and has additional features you might want in the future like offline caching, ML, Analytics, etc...

506 views506
Comments