IdeaFlow live Preview
IdeaFlow is a collaborative mind mapping platform that enables users to create, publish, and manage mind maps. Users can favorite mind maps, clone existing diagrams, and share their ideas seamlessly. With AI-powered capabilities, users can generate mind maps automatically using Gemini API and DeepSeek API, making idea organization faster and more intuitive.
- User Authentication: Secure login and registration with identity and SMTP support (email confirmation, forgot password, reset password).
- Mind Map Management: Users can create, edit, and delete mind maps.
- Publishing & Sharing: Users can publish mind maps for public access.
- Favorites: Users can save mind maps to their favorites.
- Cloning: Users can duplicate an existing mind map for further customization.
- Resilient API Calls: Implemented using Polly for handling transient failures.
- Validation: Fluent Validation ensures data integrity.
- CQRS Pattern: Clean separation of concerns with Command and Query Responsibility Segregation.
- AI-Enhanced: Utilizes Gemini API and DeepSeek API for AI-powered enhancements.
- Automated Mapping: AutoMapper simplifies data transformations.
- Containerization: Fully Dockerized setup with Docker Compose for easy deployment.
- Backend: ASP.NET Web API
- Database: Entity Framework Core
- Architecture: Onion Architecture
- AI Integration: Gemini API, DeepSeek API
- Resilience & Fault Handling: Polly
- Validation: Fluent Validation
- Object Mapping: AutoMapper
- Containerization: Docker / Docker Compose
- Security: Identity & SMTP for authentication and email verification
The core entities in IdeaFlow include:
- User: Represents the application users with authentication details.
- Diagram: Stores the mind maps, their content, and publishing status.
- Favorite: Allows users to mark and save diagrams as favorites.
- A User can create multiple Diagrams.
- A Diagram can be marked as a favorite by multiple users.
- Users can clone existing diagrams for further modifications.
- Clone the repository:
git clone https://github.com/ahmed-ateya1/IdeaFlow.git cd IdeaFlow - Build and run the project using Docker Compose:
docker-compose up --build
- Configure environment variables for Identity & SMTP (email services) and AI API keys.
This project is licensed under the MIT License.
