Hi Rani, for creating a system like Slack, following tech-stack is required:
-
Javascript and ES6 with ReactJS (for web client)
-
Electron (desktop app)
-
Java and Kotlin (Android app)
-
Objective C and Swift (IOS app)
-
Backend (PHP, Hacklang)
-
MySQL with Vitess (data storage)
-
Memcached, MCRouter (Caching)
-
SolrCloud, Java services (Search and Ranking)
-
WebSockets (Real-time messaging)
-
HAProxy (loadbalancing), Consul (configuration)
-
Elixir (voice and video calling services)
-
Kafka, Redis (Async task queuing system)
-
Presto, Spark, Airflow, Hadoop and Kafka (data warehouse)
-
Terraform, Chef and Kubernetes (server configuration, management)
-
Amazon (CloudFront, CloudSearch, EMR, Route 53, Web Services)
-
Apache (HTTP Server, Kafka, Solr, Spark, Web Server)
-
Babel (Javascript Compilation), Brandfolder (Asset Management)
-
Bugsnag (Monitoring errors and crashes on the app), Burp Suite
-
Casper Suite, Chef
-
DigiCert, Git