Build Flow is a web application that utilizes the Gemini API to return JSON responses. These responses are then populated in the frontend to create and visualize flowcharts using the React Flow library.
Before starting, ensure you have the following installed:
- Node.js: Download from nodejs.org.
- npm: Package manager that comes with Node.js.
a
-
Clone the Repository
Begin by cloning the repository to your local machine:
git clone https://github.com/yourusername/build-flow.git
-
Navigate to Project Directory
Change to the project directory:
cd build-flow
-
Install Backend Dependencies
Navigate to the backend directory (if applicable) and install dependencies:
cd backend npm install
-
Install Frontend Dependencies
Navigate to the frontend directory (if applicable) and install dependencies:
cd frontend npm install
-
Start Backend Server
From the backend directory, run:
npm run dev
-
Start Frontend Application
From the client directory, run:
npm run dev
-
Access the Application
Open your browser and go to http://localhost:5173 (or the port specified in your configuration) to access the application's frontend and http://localhost:3000 for the server.
Contributions are welcome! If you have suggestions for improvements or new features, please fork the repository and submit a pull request.
- Framework: Express.js, a minimal and flexible Node.js web application framework.
- Deployment: Hosted on Railway.app.
- API Interaction: The backend interacts with the Gemini API to fetch data necessary for generating flowcharts.
- Library: React Flow, a library for building interactive flowcharts and node-based applications in React.
- State Management: Utilizes React's state management to handle the flowchart data received from the backend.
- Dynamic Flowchart Generation: Users can create flowcharts dynamically based on the data fetched from the Gemini API.
- User Interaction: The React Flow library allows for user interaction, enabling users to modify flowcharts easily.
- Inconsistent API Responses: The deployed server on Railway.app sometimes returns responses only 3 out of 5 times. Possible causes could include resource limitations, timeouts, or issues with handling multiple simultaneous requests.
- Concurrency Handling: There might be concerns about how the server handles multiple requests, especially if it is not designed to manage concurrent requests effectively.
-
Collaboration: Introduce a feature that allows users to collaborate on generating a roadmap, enabling multiple users to contribute and refine the flowchart together.
-
Customizability: Add functionality for users to edit specific nodes or code generated by the AI, allowing for a more personalized and tailored roadmap that meets individual needs.
-
Manual Roadmap Creation: Implement an option for users to create roadmaps manually without relying on AI. This will give users full control from the start, allowing them to add or remove steps and assign tasks to specific team members.
Contact 📧 For questions or inquiries, please visit https://round-moonstone-f2c.notion.site/Mohd-Tabish-Khan-48d4bb905c9146ff88760e58f5974209?pvs=74 Thank you for using Build Flow! We hope it helps you visualize your ideas effectively! 🎉