- 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.mdcontains 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.jsfor backend runtime and serverPostgreSQL+Sequelizefor data storageGoogle OAuth 2.0for user authenticationRedis+ioredislibrary for token cachingAnt Designas the UI librarySocket.IOfor WebSocket communicationOpenAIfor AI image generationAWS S3for image storage and retrievalMailerSendfor sending emails and triggering webhooksDocker+GitHub Container Registry (GHCR)for CI/CD and monolithic deploymentKubernetes+Google Kubernetes Engine (GKE)for microservices deploymentAngularJSfor the frontend frameworkGoJSfor diagrams and maps
This project is licensed under the MIT License - see the LICENSE file for details.