A social media application designed to enhance tourism by connecting travelers with local businesses. It provides a platform where users can share their travel experiences, discover local attractions, and interact with businesses, promoting tourism and local economies.
FoodStories is built with a scalable and modular architecture, leveraging industry-best practices to ensure performance, maintainability, and seamless user experience.
- Microservices Architecture for modularity and scalability.
 - Monorepo structure managed with Nx for streamlined development.
 - Clean Architecture and Clean Code principles to ensure maintainability and readability.
 
- Kafka for event-driven, asynchronous communication.
 - gRPC for high-performance synchronous communication between microservices.
 - Neo4j as a graph database to maintain and optimize social connections and recommendations.
 - MongoDB as a NoSQL database for efficient content storage.
 
- Google Kubernetes Engine (GKE) for container orchestration and scalable deployments.
 - Google Cloud Storage for secure and efficient media storage.
 - Firebase for authentication.
 - Google Cloud Functions for efficient media compression and serverless operations.
 
- Frontend: Angular (TypeScript) for a dynamic and responsive user interface.
 - Backend: NestJS (TypeScript) for scalable and maintainable backend services.
 - Database: MongoDB (NoSQL) and Neo4j (Graph Database).
 - Event & Message Queue: Apache Kafka.
 - Communication: gRPC for optimized service-to-service communication.
 - Infrastructure Management: Docker, Kubernetes, and GKE.
 
FoodStories is designed with a developer-friendly ecosystem, emphasizing scalability, modularity, and high availability, making it an ideal platform for fostering digital tourism experiences.