Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
b27f549
Initial commit from Create Next App
Abhijiths-s Jan 5, 2025
800fed9
First commit
Abhijiths-s Jan 5, 2025
3d9b9bc
Second Commit
Abhijiths-s Jan 6, 2025
3bbe7e9
Small changes
Abhijiths-s Jan 6, 2025
fe2a844
Third commit
Abhijiths-s Jan 6, 2025
f16cdb4
Completed Main Page
Abhijiths-s Jan 12, 2025
22493d2
Minor changes
Abhijiths-s Jan 13, 2025
fbcbd61
Responsiveness added
Abhijiths-s Jan 13, 2025
5e3220f
Responsiveness added
Abhijiths-s Jan 14, 2025
d0052ca
Minor Changes
Abhijiths-s Jan 15, 2025
56c40cf
made a folder strucuture
shadil-rayyan Jan 15, 2025
9690486
added the missing compound pages to the github
shadil-rayyan Jan 16, 2025
9356cca
Create nextjs.yml
shadil-rayyan Jan 16, 2025
542075e
Second commit
Sooraj-krishna Jan 18, 2025
8034cdb
Second commit
Sooraj-krishna Jan 18, 2025
8e249ef
Create nextjs.yml
Sooraj-krishna Jan 18, 2025
1cec512
Update Navbar.tsx
Sooraj-krishna Jan 18, 2025
0d0f3d5
Update Newsletter.tsx
Sooraj-krishna Jan 18, 2025
1927a7e
Update Newsletter.tsx
Sooraj-krishna Jan 18, 2025
5068038
Update Newsletter.tsx
Sooraj-krishna Jan 18, 2025
54dee78
Update Newsletter.tsx
Sooraj-krishna Jan 18, 2025
89b3459
Update Newsletter.tsx
Sooraj-krishna Jan 18, 2025
fd2ddc7
Responsiveness Changes
Abhijiths-s Jan 19, 2025
251f857
Calendar setup
Abhijiths-s Jan 19, 2025
cc06cb9
illustration problem fixed
Abhijiths-s Jan 19, 2025
8bf7b1f
intial commit
shadil-rayyan Feb 14, 2025
d1a6e9c
added more domain edited tab
shadil-rayyan Feb 14, 2025
4ce0a86
Improvement in UI
Abhijiths-s Feb 16, 2025
2f808bb
login useing student mail added
ft4bhi Feb 16, 2025
5e80671
fixed sort and filter added a new page also i change the opporuntiy c…
Sooraj-krishna Feb 17, 2025
46daea7
fixed filter problems,now it is responsive for all devices and the fo…
Sooraj-krishna Feb 17, 2025
ee19396
fix some bugs
Sooraj-krishna Feb 17, 2025
cde3376
fix some bugs and change the types data
Sooraj-krishna Feb 17, 2025
8b27d53
added changes to the data.json file
shadil-rayyan Feb 17, 2025
63ddc42
made changes to placeholder of porject link
shadil-rayyan Feb 17, 2025
6cfed05
added an clear button and function in the filter section and added an…
Sooraj-krishna Feb 18, 2025
3996fe8
Merge branch 'main' of https://github.com/CodeCompasss/gecian_archive
Sooraj-krishna Feb 22, 2025
6cf77f6
changes in filter and form are commited
Sooraj-krishna Feb 22, 2025
416e826
changed the sample data and fix some bugs happed ehen we add an proje…
Sooraj-krishna Feb 22, 2025
7ccec63
save project button in the form saves data/project only 1 at a time t…
Sooraj-krishna Feb 22, 2025
706cbc6
some proble occured in the form data i fixed it
Sooraj-krishna Feb 22, 2025
d71c69f
some problem occured in the form data i fixed it
Sooraj-krishna Feb 22, 2025
64e4cf6
added an search fuction in the domain section on the filter section
Sooraj-krishna Feb 22, 2025
89ec695
Merged the cleaning branch
Abhijiths-s Feb 23, 2025
c5bad70
fixed logo spacing added footer added loading screen
shadil-rayyan Feb 23, 2025
c55eec7
the admin sdk is working and env is proper
ft4bhi Feb 24, 2025
93b35c5
Merge branch 'main' of https://github.com/CodeCompasss/gecian_archive…
ft4bhi Feb 24, 2025
2abb461
Merge pull request #2 from CodeCompasss/abhiram
ft4bhi Feb 24, 2025
6009216
temperoily comment out everything that was casuing the build error fo…
shadil-rayyan Mar 20, 2025
03e14d4
temporily comment out the extra problem find now
shadil-rayyan Mar 20, 2025
9831639
2 ns time temperoily comment out everything that was casuing the buil…
shadil-rayyan Mar 20, 2025
b5aadc0
3 rd time temporily comment out the extra problem find now
shadil-rayyan Mar 20, 2025
b0833e9
written a new readme md
shadil-rayyan Mar 20, 2025
8b5e33b
redirect login button to correct page implement log out button and it…
shadil-rayyan Mar 27, 2025
9b86691
added changes to github action file to fix the deployment to github p…
shadil-rayyan Mar 27, 2025
1cdc72c
removed the fake data added some real data througgh json file and use…
shadil-rayyan Mar 27, 2025
f146557
removed add project temperoily
shadil-rayyan Mar 28, 2025
52044dc
made changes to login page
shadil-rayyan Mar 28, 2025
24d5f8e
forcing pop up to fix the iframe errro
shadil-rayyan Mar 28, 2025
217f620
allowing crop to fix firbase auth in deployment
shadil-rayyan Mar 28, 2025
0dd034b
adding auth to add Project again
shadil-rayyan Mar 28, 2025
92238ed
removed name gecian archive to project archive so that anyone can reu…
shadil-rayyan Apr 19, 2025
faa3392
Update README.md
shadil-rayyan Apr 19, 2025
88e915f
Update README.md
shadil-rayyan Apr 19, 2025
a4bf8d1
now the filter data are all from data folder not hardcoded
shadil-rayyan Apr 19, 2025
bf991e6
Issues in the database schema solved. Issues in the creation of new …
Sooraj-krishna Jun 15, 2025
86c9086
Some isues in the login is fixed, add superadmin access, admin dashbo…
Sooraj-krishna Jun 16, 2025
4e7d931
Update seed.ts
Sooraj-krishna Jun 18, 2025
64709bd
Profile page created with edit and delete functions,ui of some pages …
Abhijiths-s Jun 22, 2025
d953f65
successfully build
Abhijiths-s Jun 22, 2025
c621f03
chore: add or replace LICENSE with proprietary license
ft4bhi Jul 15, 2025
e625e3a
Create FUNDING.yml
shadil-rayyan Jul 15, 2025
84c9b62
Created the project collaboration platform for putting your project i…
Sooraj-krishna Jul 20, 2025
4129999
change some file
Sooraj-krishna Jul 20, 2025
6dbda05
Added some file
Sooraj-krishna Jul 20, 2025
fe17d67
Merged upstream/main with unrelated histories
Sooraj-krishna Jul 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: shadil-rayyan
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
89 changes: 89 additions & 0 deletions .github/workflows/nextjs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Deploy Next.js site to Pages

on:
push:
branches: ["main"]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Detect package manager
id: detect-package-manager
run: |
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
echo "manager=yarn" >> $GITHUB_OUTPUT
echo "command=install" >> $GITHUB_OUTPUT
echo "runner=yarn" >> $GITHUB_OUTPUT
elif [ -f "${{ github.workspace }}/package.json" ]; then
echo "manager=npm" >> $GITHUB_OUTPUT
echo "command=ci" >> $GITHUB_OUTPUT
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
else
echo "Unable to determine package manager"
exit 1
fi

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: ${{ steps.detect-package-manager.outputs.manager }}

- name: Setup Pages
uses: actions/configure-pages@v5
with:
static_site_generator: next

- name: Restore cache
uses: actions/cache@v4
with:
path: .next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-

- name: Install dependencies
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}

- name: Build with Next.js
run: ${{ steps.detect-package-manager.outputs.runner }} next build
env:
FIREBASE_ADMIN_SDK_KEY: ${{ secrets.FIREBASE_ADMIN_SDK_KEY }}
NEXT_PUBLIC_FIREBASE_API_KEY: ${{ secrets.NEXT_PUBLIC_FIREBASE_API_KEY }}
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN }}
NEXT_PUBLIC_FIREBASE_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_PROJECT_ID }}
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET }}
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID }}
NEXT_PUBLIC_FIREBASE_APP_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_APP_ID }}
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID }}


- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./out

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
41 changes: 41 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
27 changes: 27 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Copyright (c) 2025 Shadil Am. All rights reserved.

1. DEFINITIONS
“Repository” means this source code and its associated files.
“You” means any individual or entity that forks, clones, copies, views, or otherwise accesses the Repository.

2. LICENSE AND RESTRICTIONS
This Repository is proprietary and confidential. You may *not* use, copy, modify, distribute, display, execute, publish, sublicense, or sell it in whole or in part without express prior written permission from Shadil Am.
*Exception:* You may fork the Repository and submit pull requests on GitHub solely for the purpose of contributing code back. Such usage is strictly limited to GitHub’s pull-request system and does not grant any other rights.

3. NO IMPLIED LICENSE
No license—express, implied, by estoppel, or otherwise—to any intellectual property is granted except as expressly stated above.

4. TERMINATION
Any use beyond the limited exception in Section 2 will immediately terminate any rights you may have under this Agreement.

5. DISCLAIMER OF WARRANTIES
This Repository is provided “AS IS,” without any warranty, express or implied. To the maximum extent permitted by applicable law, Shadil Am disclaims all warranties.

6. LIMITATION OF LIABILITY
Shadil Am will not be liable for any special, indirect, incidental, or consequential damages arising out of or in connection with this Repository.

7. GOVERNING LAW & JURISDICTION
This Agreement is governed by and construed under the laws of the State of Kerala, Republic of India, without regard to its conflict-of-law rules. You irrevocably submit to the exclusive jurisdiction of the courts located in Kochi, Kerala, India, for any dispute arising under or relating to this Agreement.

8. CONTACT
Permission requests or inquiries should be sent to *shadilrayyan2@gmail.com*.
81 changes: 80 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,80 @@
# Project_Collab
# Project Collaboration Platform

## 🚀 Overview
A modern web platform for students, professionals, and innovators to share project ideas and find collaborators. Users can post their project ideas, specify required skills, and provide contact information (Instagram, LinkedIn, Email, WhatsApp) for interested collaborators to reach out.

## 🎯 Purpose
- Help users find collaborators for their projects.
- Showcase project ideas and attract interest from the community.
- Enable easy contact and networking between project owners and interested contributors.

## 🛠️ Features
- Add project ideas with type, department, technology, description, and more.
- Optional contact info fields: Instagram, LinkedIn, Email, WhatsApp.
- Filter and search projects by type, department, technology, etc.
- View your own projects in your profile.
- Edit and manage your projects.
- Secure authentication and user management.

## 🌐 Use Cases
- Students looking for teammates for academic or hobby projects.
- Professionals seeking collaborators for side projects or startups.
- Hackathon teams forming around new ideas.

## 🏗️ Tech Stack
- **Frontend:** Next.js, React, Tailwind CSS
- **Backend:** Next.js API routes, Drizzle ORM, PostgreSQL
- **Auth:** Firebase Authentication
- **Database:** PostgreSQL

## ⚙️ Setup & Installation

### 1. Clone the Repository
```bash
git clone https://github.com/yourusername/project-collaboration.git
cd project-collaboration
```

### 2. Install Dependencies
```bash
npm install
```

### 3. Environment Variables
Create a `.env.local` file in the root directory and add the following:
```env
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_email
```

### 4. Database Migration & Seeding
```bash
npx drizzle-kit push
npx tsx drizzle/seed.ts
```

### 5. Run the Development Server
```bash
npm run dev
```
Visit [http://localhost:3000](http://localhost:3000) to view the app.

## 📦 Project Structure
- `app/` — Next.js app directory (pages, API routes, components)
- `components/` — Shared React components
- `drizzle/` — Database schema, migrations, and seed scripts
- `lib/` — Utility libraries, database, and Firebase config
- `types/` — TypeScript types

## 🤝 Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

## 📄 License
[MIT](LICENSE)
107 changes: 107 additions & 0 deletions WIKI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Project Collaboration Platform Wiki

Welcome to the Project Collaboration Platform Wiki!

## About
This platform helps users share project ideas and find collaborators. Users can post projects, specify required skills, and provide contact info for easy networking.

## Key Features
- 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

---

## Getting Started

### 1. Clone the Repository
Clone the repository to your local machine:
```bash
git clone https://github.com/yourusername/project-collaboration.git
cd project-collaboration
```

### 2. Install Dependencies
Install all required Node.js packages:
```bash
npm install
```

### 3. Environment Setup
Create a `.env.local` file in the root directory. You can copy from an example if provided:
```bash
cp .env.example .env.local
```
Fill in the following variables with your own credentials:
```env
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_email
```

### 4. Database Migration & Seeding
Run the following commands to set up your database schema and seed initial data:
```bash
npx drizzle-kit push
npx tsx drizzle/seed.ts
```

### 5. Start the Development Server
Start the app locally:
```bash
npm run dev
```
Visit [http://localhost:3000](http://localhost:3000) in your browser.

---

## Usage
- **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.

---

## Advanced Configuration
- **Custom Domains:** You can specify a custom domain for your project if needed.
- **Seeding More Data:** Edit the files in `drizzle/seed-*.ts` to 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.

---

## Troubleshooting
- **Database Errors:** Ensure your `DATABASE_URL` is correct and the database server is running.
- **Firebase Auth Issues:** Double-check all Firebase credentials in your `.env.local` file.
- **Migrations Fail:** If migrations fail, check for existing tables or conflicting schema changes.
- **Port in Use:** If port 3000 is in use, set `PORT=xxxx` in your `.env.local`.

---

## FAQ
- **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.

---

## More
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
Loading