Welcome to the Project Collaboration Platform Wiki!
This platform helps users share project ideas and find collaborators. Users can post projects, specify required skills, and provide contact info for easy networking.
- Add and manage project ideas
- Filter/search projects
- Profile page for your projects
- Contact project owners via Instagram, LinkedIn, Email, WhatsApp
- Admin panel for managing categories and options
- Secure authentication with Firebase
Clone the repository to your local machine:
git clone https://github.com/yourusername/project-collaboration.git
cd project-collaborationInstall all required Node.js packages:
npm installCreate a .env.local file in the root directory. You can copy from an example if provided:
cp .env.example .env.localFill in the following variables with your own credentials:
DATABASE_URL=postgresql://user:password@localhost:5432/yourdb
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
FIREBASE_ADMIN_PRIVATE_KEY=your_firebase_admin_private_key
FIREBASE_ADMIN_CLIENT_EMAIL=your_firebase_admin_client_emailRun the following commands to set up your database schema and seed initial data:
npx drizzle-kit push
npx tsx drizzle/seed.tsStart the app locally:
npm run devVisit http://localhost:3000 in your browser.
- Add a Project: Use the "Add Project" page to submit your idea and contact info.
- View Projects: Browse and filter projects on the home page.
- Profile: See and manage your own projects in your profile.
- Edit/Delete: Edit or delete your projects from your profile page.
- Contact: Use the provided links to contact project owners via Instagram, LinkedIn, Email, or WhatsApp.
- Admin: Use the admin panel to manage categories and options.
- Custom Domains: You can specify a custom domain for your project if needed.
- Seeding More Data: Edit the files in
drizzle/seed-*.tsto add more categories, options, or example projects. - Production Deployment: Configure your environment variables and database for production. Use a process manager (like PM2) or deploy to Vercel/Netlify for serverless hosting.
- Database Errors: Ensure your
DATABASE_URLis correct and the database server is running. - Firebase Auth Issues: Double-check all Firebase credentials in your
.env.localfile. - Migrations Fail: If migrations fail, check for existing tables or conflicting schema changes.
- Port in Use: If port 3000 is in use, set
PORT=xxxxin your.env.local.
- How do I add a new category? Use the admin panel to manage categories.
- How do I reset my password? Use the Firebase authentication reset link.
- How do I change the project branding? Edit the Navbar and Footer components in
components/. - How do I add more contact methods? Extend the project schema and forms in the codebase.
For detailed documentation, see the README or open an issue for help. You can also expand this wiki with:
- API Reference
- Admin Guide
- Deployment Guide
- Customization Tips