AI-Powered Team Formation & Project Collaboration Platform
Key Features • Tech Stack • Getting Started • Project Structure • Contributing
SynergyHub connects skilled developers, designers, and innovators with the perfect projects. Our intelligent platform uses AI matching to assemble high-performing teams for hackathons, startups, and social impact initiatives.
- Smart AI Matching: Intelligent algorithm (powered by Google Gemini) that connects users with projects based on skills, availability, and experience level.
- Modern Aesthetic: Exquisite "Deep Space" dark theme with neon violet accents, glassmorphism effects, and fluid animations.
- Collaborative Workspaces: Dedicated spaces for teams to manage tasks, chat, and share resources.
- Advanced Profiles:
- Customizable: Upload profile photos, add social links (GitHub, LinkedIn, Portfolio).
- Skill Verification: Badges and expert/learner modes.
- Secure Authentication: Built with NextAuth.js supporting Google & Credentials login.
- Fully Responsive: Optimized for all devices with a mobile-first approach.
- Email Notifications: Automated system emails for project invites and team requests.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + Shadcn UI
- Database: MongoDB + Mongoose
- Auth: NextAuth.js
- AI Integration: Google Genkit & Gemini API
- State: React Context + Hooks
- Icons: Lucide React
Follow these steps to set up the project locally.
- Node.js 18+
- MongoDB Database (Local or Atlas)
- Google Gemini API Key
-
Clone the repository
git clone https://github.com/yourusername/synergyhub.git cd synergyhub/mainNote: The Next.js application is located within the
maindirectory. -
Install dependencies
npm install
-
Set up Environment Variables Create a
.env.localfile in themaindirectory and configure the following variables:# Google Gemini API Key GEMINI_API_KEY=your_gemini_api_key # MongoDB Connection String MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/synergyhub # NextAuth Configuration NEXTAUTH_SECRET=your_super_secret_key_here NEXTAUTH_URL=http://localhost:3000 # Google Auth GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret # Email Configuration (Nodemailer/SMTP) EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password
-
Run the development server
npm run dev
-
Open the app Visit http://localhost:3000 (or the port provided in your terminal) to see the application in action.
synergyhub/
├── main/ # Root of the Next.js frontend and backend
│ ├── src/
│ │ ├── ai/ # Genkit flows and AI match-making logic
│ │ ├── app/ # App Router pages & API routes
│ │ │ ├── (app)/ # Authenticated app routes (dashboard, projects)
│ │ │ ├── (auth)/ # Authentication routes (login, register)
│ │ │ ├── api/ # Backend API endpoints
│ │ │ └── layout.tsx # Root layout
│ │ ├── components/ # Reusable UI components
│ │ ├── lib/ # Utilities, types, and database connection logic
│ │ ├── models/ # MongoDB Schemas (Mongoose)
│ │ └── hooks/ # Custom React hooks
│ └── public/ # Static assets
└── scripts/ # Database seeding or helper scripts
Contributions are welcome! Please fork the repository and submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request