An open API service indexing awesome lists of open source software.

https://github.com/iamarvy/dreamscape

Dreamscape is a modern, scalable social media platform built with a microservices architecture. It enables users to post updates, view and engage with content, like and comment on posts, and communicate in real time via direct messages and group chats.
https://github.com/iamarvy/dreamscape

docker event-driven-architecture grpc jwt kafka microservices nestjs nuxtjs typescript websockets

Last synced: 5 months ago
JSON representation

Dreamscape is a modern, scalable social media platform built with a microservices architecture. It enables users to post updates, view and engage with content, like and comment on posts, and communicate in real time via direct messages and group chats.

Awesome Lists containing this project

README

          

# Dreamscape

**A scalable social media platform built with a microservices architecture.**

## 🧩 Overview

Dreamscape is a modern web application that allows users to:
- πŸ“Έ Post updates and media
- ❀️ Like and πŸ’¬ comment on posts
- πŸ’¬ Chat in real-time with friends and groups
- πŸ‘₯ Connect with other users

It’s built with **NestJS** for the backend services and **Nuxt** for the frontend, following a clean and modular microservices approach for better scalability, maintainability, and developer experience.

---

## πŸ› οΈ Tech Stack

| Layer | Technology |
|--------------|----------------|
| Frontend | Nuxt 3 |
| Backend | NestJS |
| Communication| gRPC, WebSockets, REST |
| Auth | JWT, Passport |
| Realtime | Socket.io / Redis pub-sub |
| Database | PostgreSQL / MongoDB (per service) |
| Messaging | AWS SQS / Kafka (event-driven) |
| Infrastructure | Docker, AWS ECS/Fargate or EC2, S3, CloudFormation |

---

## 🧱 Microservices

| Service | Description |
|-------------------|---------------------------------------------------------|
| **Auth Service** | Handles user registration, login, and JWT issuance |
| **User Service** | Manages user profiles, connections, and preferences |
| **Post Service** | CRUD operations for user-generated posts |
| **Interaction Service** | Handles likes, comments, and reactions |
| **Chat Service** | Real-time messaging with support for 1-1 and group chats |
| **Notification Service** | Sends alerts for new messages, likes, and more |
| **Media Service** | Handles file uploads (images, videos) to S3 |
| **Gateway API** | Acts as an entry point, routes requests to services |

---

## πŸš€ Getting Started

### Prerequisites

- Node.js (v18+)
- Docker & Docker Compose
- pnpm (or npm/yarn)
- AWS CLI (for cloud deployment)

### Local Setup

```bash
# Clone the monorepo
git clone https://github.com/iamArvy/dreamscape.git
cd dreamscape

# Install dependencies
pnpm install

# Start all services
docker-compose up --build
```

Frontend (Nuxt) will be available at `http://localhost:3000`
Backend services will run on different ports inside Docker.

---

## πŸ§ͺ Running Tests

Each service contains its own tests.

```bash
# Example for auth service
cd services/auth
pnpm test
```

---

## πŸ“¦ Folder Structure

```
dreamscape/
β”œβ”€β”€ frontend/ # Nuxt frontend
β”œβ”€β”€ services/ # NestJS microservices
β”‚ β”œβ”€β”€ auth/
β”‚ β”œβ”€β”€ user/
β”‚ β”œβ”€β”€ post/
β”‚ β”œβ”€β”€ chat/
β”‚ └── ...
β”œβ”€β”€ gateway/ # API Gateway using NestJS
β”œβ”€β”€ docker-compose.yml
└── README.md
```

---

## πŸ“ˆ Future Plans

- Implement Redis caching
- Add search service (e.g., ElasticSearch)
- Add subscriptions & notifications (Web Push)
- Integrate admin dashboard
- Support media tagging and mentions

---

## πŸ“ License

MIT License – see [LICENSE](./LICENSE)

---

## πŸ™Œ Acknowledgements

Inspired by platforms like **Facebook**, **Twitter**, and **Discord** – designed to be modular, scalable, and developer-friendly.