- A collaborative mind-mapping tool designed to facilitate real-time brainstorming and idea organization for individuals and teams.
- Monolith version: https://www.mindmappers.felixlyy.me/
Microservice version: https://mindmappers.neverland3124.me/ (too expensive to maintain)
- Try the possibility of microservice and deploy with Kubernetes
- Also fix some of the issues for the monolith version
- Open source the project for everyone to learn different technologies
- Check branch Mindmappers-monolith
Project Proposal.md
contains the original monolith project detail
- Backend - use microservice with api-gateway
- Each request go to api-gateway and based on the url route to different services
- Api-Gateway
- handing cors, routing, websocket upgrade, redis cache of token
- Auth Microservices
- authentication of google oauth2 and send email and webhook feature
- Object Microservices
- create room, create object, core website features
- Image Microservices
- able to send generate image task and get image
- Image Worker Microservices
- worker to get task and generate image
- Api-Gateway
- Each request go to api-gateway and based on the url route to different services
- Frontend
Node.js
+Express.js
for backend runtime and serverPostgreSQL
+Sequelize
for data storageGoogle OAuth 2.0
for user authenticationRedis
+ioredis
library for token cachingAnt Design
as the UI librarySocket.IO
for WebSocket communicationOpenAI
for AI image generationAWS S3
for image storage and retrievalMailerSend
for sending emails and triggering webhooksDocker
+GitHub Container Registry (GHCR)
for CI/CD and monolithic deploymentKubernetes
+Google Kubernetes Engine (GKE)
for microservices deploymentAngularJS
for the frontend frameworkGoJS
for diagrams and maps
This project is licensed under the MIT License - see the LICENSE file for details.