One platform to store files, pastes, and monitor everything in real time.
- 🔐 JWT Authentication with user registration and login
- 📤 File Uploading and secure storage
- 📝 Pastebin-like sharing of text content
- 📧 Email Notifications via Kafka
- 📡 Service Discovery with Eureka
- 🌐 API Gateway for unified access
- 📈 Distributed Tracing with Jaeger
- 📊 Monitoring & Logs using Prometheus, Loki, and Promtail
- 📉 Grafana dashboards and anomaly detection (🛠️ Coming Soon)
| Category | Technologies |
|---|---|
| Backend | Java, Spring Boot, Spring Cloud, Spring Security |
| Frontend | React.js, Tailwind CSS |
| Inter-Service Comm | Eureka (Service Discovery), Spring Cloud Gateway |
| Messaging | Apache Kafka |
| Tracing & Logs | Jaeger (Tracing), Loki + Promtail (Logging) |
| Monitoring | Prometheus + Grafana |
| Database | MongoDB |
| Containerization | Docker, Docker Compose |
discovery-server: Eureka service registryapi-gateway: Central API gateway using Spring Cloud Gatewayuser-service: Manages user registration, authentication, and user-favouritesfile-service: Handles file uploads/downloadspaste-service: Pastebin-style text sharingnotification-service: Kafka consumer that sends email notificationsfilebin-frontend: React-based frontend UI- Monitoring stack:
prometheus,jaeger,loki,promtail,grafana (coming soon)
Ensure Docker, Docker Compose, Java 17+ (21 Preferred), and Maven are installed.
git clone https://github.com/thedarkw3b/filebin-microservices
cd filebin-microservicesBuild each service with Maven:
mvn clean package -DskipTestsdocker-compose build
docker-compose up| Service | URL |
|---|---|
| React Frontend (WebApp) | http://localhost:3000 |
| API Gateway | http://localhost:8080 |
| Eureka Discovery | http://localhost:8761 |
| Jaeger UI | http://localhost:16686 |
| Prometheus | http://localhost:9090 |
| Loki (Logs API) | http://localhost:3100 |
| Grafana | http://localhost:3001 (coming soon) |
| Tool | Purpose |
|---|---|
| Prometheus | Scrapes and stores metrics |
| Jaeger | Distributed tracing for microservices |
| Loki | Aggregates logs |
| Promtail | Sends Docker logs to Loki |
| Grafana | Unified dashboards (coming soon) |
Feel free to open issues or submit PRs. Contributions that enhance observability and security are especially welcome!
