Home - jamongx/twitter-clone GitHub Wiki
Twitter (Clone)
Personal project, Twitter clone that is based on a microservices architecture
System Design
High level design and architecture of the system.
- Requirements
- Back of the envelope estimation
- Technical stack
- High-level design
- Data model design
- API design (External communication)
- Inter-service communication
- Detailed design
Testing methodologies
Deployment Strategy
Monitoring and Logging
Considerations
There are several considerations to ensure that the system in a microservices architecture is robust, scalable, and maintainable.
- Design and Decoupling
- Data Management
- Communication
- Performance and Scalability
- Security
- Reliability and Resilience
- Identify and resolve bottlenecks
Development Guidelines
- Tools and Environment
- Development Process
- Coding Convention
- Testing Convention
- Documentation
- Performance and Optimization
- Code Reviews and Feedback
- Version Control Rules
References
- System Design Interview - An Insider’s Guide
- Karan Pratap Singh - System Design (2022)
- Microservices Logging, A Practical Guide to Logging in Microservices
- Jenkins CI/CD Pipeline - SonarQube, Docker, GitHub Webhooks on AWS
- DevOps Project 1 - CI/CD with Git Jenkins Ansible Kubernetes
- SonarQube Integration with Jenkins
- Building Web APIs with gRPC - The Complete Guide
- Testing Spring Boot App with JUnit, Mockito & Testcontainers
- Full-Stack Java Development with Spring Boot 3 & React