A real-time collaborative platform designed to facilitate brainstorming sessions for teams. This application allows users to create events, form teams, define topics, and conduct interactive brainstorming rounds. It leverages Google Gemini AI to summarize ideas and provides comprehensive reporting features including PDF exports.
- Real-time Collaboration: Live updates during brainstorming sessions using WebSockets.
- Session Management: Structured rounds for idea generation.
- Team & Event Management: Organize participants into teams and group sessions under events.
- AI-Powered Summarization: Automatically groups and summarizes ideas using Gemini AI.
- Reporting: Export detailed session reports as PDF.
- Secure Authentication: JWT-based user authentication.
- Modern UI: Responsive design built with Next.js and Tailwind CSS.
- Language: Java 21
- Framework: Spring Boot 3
- Database: MySQL 8.0
- AI Integration: Google Gemini API
- Security: Spring Security + JWT
- Build Tool: Maven
- Framework: Next.js 16 (App Router)
- Library: React 19
- Styling: Tailwind CSS 4
- Language: TypeScript
- State Management: React Hooks
- PDF Generation: jsPDF
- Icons: Lucide React
Ensure you have the following installed:
- Java Development Kit (JDK) 21
- Node.js (v18 or higher)
- MySQL Server
- Maven
Create the MySQL database and import the schema:
# Log in to MySQL
mysql -u root -p
# Create database
CREATE DATABASE brainstorming_app;
# Import schema (from project root)
use brainstorming_app;
source brainstorming_app.sql;Navigate to the backend directory:
cd backendConfigure environment variables in src/main/resources/application.yml or set them in your environment:
spring.datasource.username: Your MySQL usernamespring.datasource.password: Your MySQL passwordgemini.api.key: Your Google Gemini API Keyjwt.secret: A secure secret key for token generation
Build and run the application:
mvn clean install
mvn spring-boot:runThe backend server will start on http://localhost:8080.
Navigate to the frontend directory:
cd frontendInstall dependencies:
npm install
# or
yarn installCreate a .env.local file in the frontend directory (optional, if you need to override defaults):
NEXT_PUBLIC_API_URL=http://localhost:8080/api
NEXT_PUBLIC_WS_URL=ws://localhost:8080/wsRun the development server:
npm run devThe application will be available at http://localhost:3000.
- Register/Login: Create an account to get started.
- Create an Event: Define the context for your brainstorming (e.g., "Q4 Marketing Strategy").
- Create Teams: Add participants to teams.
- Start a Session: Select a topic and launch a session.
- Brainstorm: Participants submit ideas in real-time.
- Review & Summarize: View grouped ideas and AI-generated summaries.
- Export: Download the session report as a PDF.
Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT License.