EasyCollab is a web platform that helps developers find collaborators for their projects. Users can submit project ideas, browse existing projects, and connect with potential collaborators.
- 🔐 User Authentication: Secure email/password authentication using Firebase
- 💡 Project Submission: Submit your project ideas with detailed descriptions
- 🔍 Project Discovery: Browse and search through submitted project ideas
- 🏷️ Technology Tags: Filter projects by technology stack
- 📱 Responsive Design: Works seamlessly on desktop and mobile devices
- 🗃️ Notion Integration: Project data stored and managed using Notion API
- Frontend: Next.js 13+ (App Router), React, TailwindCSS
- Authentication: Firebase Authentication
- Database: Notion Database
- Styling: Tailwind CSS, HeadlessUI
- Icons: Heroicons
- Node.js 16.x or later
- npm or yarn
- Firebase account
- Notion account and API key
- Clone the repository:
git clone https://github.com/yourusername/easy-collab.git
cd easy-collab- Install dependencies:
npm install- Create a
.env.localfile in the root directory with the following variables:
NOTION_API_KEY=your_notion_api_key
NOTION_DATABASE_ID=your_notion_database_id
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
src/
├── app/ # Next.js 13+ App Router
│ ├── api/ # API routes
│ ├── login/ # Login page
│ ├── signup/ # Signup page
│ ├── submit-idea/ # Project submission page
│ └── view-ideas/ # Project browsing page
├── components/ # Reusable components
├── firebase/ # Firebase configuration
└── styles/ # Global styles
- Email/password signup and login
- Protected routes for authenticated users
- Secure session management
- Submit project ideas with title, description, and requirements
- Tag projects with relevant technologies
- Specify time commitment and difficulty level
- Add contact information for interested collaborators
- Browse all submitted projects
- Filter projects by technology stack
- Search projects by keyword
- Sort by various criteria
- Fork the repository
- 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
- Create a new Notion integration at Notion Developers
- Create a new database in Notion with the following properties:
- Name (title)
- Description (rich text)
- Technologies (multi-select)
- Looking For (rich text)
- Difficulty (select)
- Time Commitment (rich text)
- Contact Info (rich text)
- Share your database with the integration
- Copy your integration token and database ID to the
.env.localfile
- Create a new Firebase project at Firebase Console
- Enable Email/Password authentication
- Create a web app in your Firebase project
- Copy the Firebase configuration to your
.env.localfile
This project is licensed under the MIT License - see the LICENSE file for details.