https://github.com/karan-develops/campus-connect
This is my first open source project, integrating stuff & techs. Contributions are welcomed πποΈ. Give Repo a Star β.
https://github.com/karan-develops/campus-connect
campus-network college-students contribute fullstack nextjs open-source
Last synced: 2 months ago
JSON representation
This is my first open source project, integrating stuff & techs. Contributions are welcomed πποΈ. Give Repo a Star β.
- Host: GitHub
- URL: https://github.com/karan-develops/campus-connect
- Owner: Karan-develops
- License: mit
- Created: 2025-01-23T15:55:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-05T08:51:30.000Z (10 months ago)
- Last Synced: 2025-09-05T10:25:59.670Z (10 months ago)
- Topics: campus-network, college-students, contribute, fullstack, nextjs, open-source
- Language: TypeScript
- Homepage: https://campus-connect-karan.vercel.app
- Size: 808 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Campus Connect
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
## Introduction
Campus Connect is a dynamic platform designed to streamline and enhance campus life for students. Built with Next.js, TypeScript, Prisma, and Neon Postgres, it provides a seamless experience for connecting with peers, exploring campus resources, and staying updated with important events.
The platform features a 'Peers' page, where students can easily discover and connect with fellow users. To ensure efficiency, the system optimally checks existing connections, displaying relevant statuses like 'Connect' or 'Already Connected' in real time.
With a structured backend architecture and efficient state management using Zustand, Campus Connect aims to offer a smooth, scalable, and user-friendly experience for students navigating their campus ecosystem.

## Features
- User authentication and authorization
- Profile management for Users
- Connect with Peers & Grow your Network
- Send Message & Chat with Peers
- Event scheduling and notifications
- Discussion forums and messaging
- Course Details and Forms
- Brilliant UI & UX
- Send Real Application by Filling Form (Secured By ZOD)
- Create & Organize Clubs, Sports, Events
- See Your Creations
- ShowCase your Projects
- Skill Exchange Page (Offer & Teach Skills)
## π Tech Stack
- **Frontend (Next Full Stack):**
- React.js
- Next.js
- Shadcn-ui
- TailwindCSS
- TypeScript
- Zod - Form Validation
- Framer-motion
- Clerk
- **State Management:**
- Zustand
- **Backend:**
- Node.js
- Prisma
- Express-JS
- Mongoose
- TypeScript
- **Database:**
- Neon
- PostgreSQL
- MongoDB
- **Version Control:**
- Git
```
## π File Structure :
Directory structure:
βββ karan-develops-campus-connect/
βββ Readme.md
βββ CONTRIBUTING.md
βββ LICENCE
βββ backend/
β βββ index.ts
β βββ package-lock.json
β βββ package.json
β βββ tsconfig.json
β βββ .gitignore
β βββ controllers/
β β βββ academicInfo.controller.ts
β β βββ applyForm.controller.ts
β β βββ contactInfo.controller.ts
β β βββ demoSportsData.controller.ts
β β βββ placement.controller.ts
β βββ db/
β β βββ connectDb.ts
β βββ models/
β β βββ academicData.models.ts
β β βββ applyForm.models.ts
β β βββ contactInfo.models.ts
β β βββ demoPlacements.models.ts
β β βββ demoSportsProgramData.models.ts
β βββ routes/
β β βββ academicInfo.route.ts
β β βββ applyForm.route.ts
β β βββ contactInfo.route.ts
β β βββ demoSportsData.route.ts
β β βββ placement.route.ts
β βββ scripts/
β βββ demoAcademicData.seed.ts
β βββ demoPlacements.seed.ts
β βββ demoSportsProgramData.seed.ts
β βββ data/
β βββ demoAcaData.ts
β βββ sportsProgramData.ts
βββ frontend/
βββ README.md
βββ components.json
βββ eslint.config.mjs
βββ middleware.ts
βββ next.config.ts
βββ package-lock.json
βββ package.json
βββ postcss.config.mjs
βββ tailwind.config.ts
βββ tsconfig.json
βββ .gitignore
βββ actions/
β βββ extraUser.actions.ts
β βββ message.actions.ts
β βββ peers.actions.ts
β βββ search.actions.ts
β βββ skills.actions.ts
β βββ user.actions.ts
βββ app/
β βββ error.tsx
β βββ globals.css
β βββ layout.tsx
β βββ not-found.tsx
β βββ (auth)/
β β βββ layout.tsx
β β βββ forgot-password/
β β β βββ page.tsx
β β βββ sign-in/
β β β βββ page.tsx
β β βββ sign-up/
β β βββ page.tsx
β βββ (root)/
β β βββ layout.tsx
β β βββ page.tsx
β β βββ academics/
β β β βββ academics-content.tsx
β β β βββ page.tsx
β β β βββ [program]/
β β β βββ learn-more-content.tsx
β β β βββ page.tsx
β β βββ admissions/
β β β βββ admissions-content.tsx
β β β βββ page.tsx
β β βββ apply/
β β β βββ application-form.tsx
β β β βββ page.tsx
β β βββ apply-success/
β β β βββ page.tsx
β β βββ campus-life/
β β β βββ clubs/
β β β β βββ club-content.tsx
β β β β βββ page.tsx
β β β β βββ [id]/
β β β β βββ club-details.tsx
β β β β βββ page.tsx
β β β βββ create/
β β β β βββ create-content.tsx
β β β β βββ page.tsx
β β β βββ events/
β β β β βββ events-content.tsx
β β β β βββ page.tsx
β β β βββ sports/
β β β βββ page.tsx
β β β βββ sports-content.tsx
β β βββ contact/
β β β βββ contact-content.tsx
β β β βββ page.tsx
β β βββ legal/
β β β βββ privacy-policy/
β β β β βββ page.tsx
β β β βββ terms-of-service/
β β β βββ page.tsx
β β βββ messages/
β β β βββ [identifier]/
β β β βββ messages-content.tsx
β β β βββ page.tsx
β β βββ my-creations/
β β β βββ my-creations-content.tsx
β β β βββ page.tsx
β β βββ peers/
β β β βββ login-page.tsx
β β β βββ page.tsx
β β β βββ peers-content.tsx
β β β βββ skill-exchange/
β β β βββ page.tsx
β β β βββ skill-exchange-content.tsx
β β β βββ listing/
β β β βββ [id]/
β β β βββ ListingContent.tsx
β β β βββ page.tsx
β β βββ placements/
β β β βββ page.tsx
β β β βββ placements-content.tsx
β β βββ profile/
β β β βββ profile-content.tsx
β β β βββ [identifier]/
β β β βββ page.tsx
β β βββ search/
β β βββ page.tsx
β β βββ search-input.tsx
β β βββ search-results.tsx
β βββ api/
β β βββ academic-info/
β β β βββ [name]/
β β β βββ route.ts
β β βββ apply/
β β β βββ route.ts
β β βββ clubs/
β β β βββ route.ts
β β β βββ [id]/
β β β βββ route.ts
β β β βββ join/
β β β β βββ route.ts
β β β βββ leave/
β β β βββ route.ts
β β βββ contact-info/
β β β βββ route.ts
β β βββ create/
β β β βββ route.ts
β β βββ messages/
β β β βββ route.ts
β β βββ placements/
β β β βββ route.ts
β β βββ profile/
β β β βββ route.ts
β β βββ skill-exchange/
β β β βββ route.ts
β β β βββ [id]/
β β β βββ route.ts
β β β βββ comment/
β β β β βββ route.ts
β β β βββ like/
β β β βββ route.ts
β β βββ sports-info/
β β βββ route.ts
β βββ constants/
β βββ academicStreams.constants.ts
β βββ admissions.constants.ts
β βββ club-data.constants.ts
β βββ contact.constants.ts
β βββ events-data.constants.ts
β βββ peersData.constants.ts
β βββ skill.constants.ts
βββ components/
β βββ AuthProvider.tsx
β βββ CampusMap.tsx
β βββ ConnectWUs.tsx
β βββ CreateForm.tsx
β βββ FAQS.tsx
β βββ Footer.tsx
β βββ Hero2.tsx
β βββ HomeNewFeatures.tsx
β βββ HomePage.tsx
β βββ Loader1.tsx
β βββ Marquee.tsx
β βββ Navbar.tsx
β βββ NavbarWrapper.tsx
β βββ NewHero.tsx
β βββ ThemeProvider.tsx
β βββ ToggleTheme.tsx
β βββ ui/
β βββ accordion.tsx
β βββ alert.tsx
β βββ avatar.tsx
β βββ badge.tsx
β βββ button.tsx
β βββ calendar.tsx
β βββ card.tsx
β βββ dialog.tsx
β βββ form.tsx
β βββ input.tsx
β βββ label.tsx
β βββ menubar.tsx
β βββ popover.tsx
β βββ progress.tsx
β βββ select.tsx
β βββ separator.tsx
β βββ switch.tsx
β βββ tabs.tsx
β βββ textarea.tsx
β βββ toast.tsx
β βββ toaster.tsx
βββ hooks/
β βββ use-toast.ts
βββ lib/
β βββ prisma.ts
β βββ utils.ts
β βββ validations.ts
β βββ store/
β βββ authStore.ts
βββ prisma/
β βββ schema.prisma
β βββ migrations/
β βββ migration_lock.toml
β βββ 20250126121634_mg1/
β β βββ migration.sql
β βββ 20250209091130_campus_life/
β β βββ migration.sql
β βββ 20250211113840_connections/
β β βββ migration.sql
β βββ 20250222120441_skills/
β β βββ migration.sql
β βββ 20250223102327_skill_ex_likes_comments/
β β βββ migration.sql
β βββ 20250223115641_likes_bug_fix/
β β βββ migration.sql
β βββ 20250225141612_clubs/
β β βββ migration.sql
β βββ 20250225162823_clubs_fix/
β βββ migration.sql
βββ public/
β βββ images/
β βββ og-image.png
βββ types/
βββ skill-exchange.ts
```
### Backend
| Variable | Description |
| :------------ | :------------------------------------- |
| `MONGODB_URI` | Database URI |
| `PORT` | Port number for backend (8080 OR 5000) |
### Next JS
| Varibale | Description |
| :---------------------------------- | :----------------------------------------------- |
| `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` | Make a free clerk account (Project) |
| `CLERK_SECRET_KEY` | Clerk Secret Key |
| `DATABASE_URL` | Database URL from neon again make a free account |
| `BACKEND_URL` | http://localhost:8080 |
---
---
# π»Installation
## π₯ 1. Main NextJS
To run this project locally, follow these steps:
1. Clone the repository:
`git clone https://github.com/Karan-develops/Campus-Connect`
2. Navigate to the project directory:
`cd frontend`
3. Install the dependencies:
`npm install`
4. Set up environment variables: - Create a `.env` file in the `frontend` directory, - Add the Variables given in above `frontend` Table.
5. Start the development server:
`npm run dev`
## π₯ 2. Backend For Static Data Fetch
To run this project locally, follow these steps:
1. Navigate to the project directory:
`cd backend`
2. Install the dependencies:
`npm install`
3. Set up environment variables: - Create a `.env` file in the `backend` directory, - Add the Variables given in above `backend` Table.
4. Initialize TypeScript:
`npx tsc --init`
5. Configure the `outdir` and `src` in `tsconfig` file.
6. Seed the MongoDB database:
`Run the seed files that have been provided.`
7. Start the development server:
`npm run dev`
## Usage
- Open your browser and navigate to `http://localhost:3000` for frontend.
- Open your browser and navigate to `http://localhost:8080` OR `http://localhost:8080` for backend.
- Register a new account or log in with existing credentials.
- Explore the features and functionalities of the Campus Project.
## Contributing
Contributions are welcome! Please follow these steps to contribute:
1. Fork the repository.
2. Create a new branch:
`git checkout -b feature/your-feature-name`
3. Make your changes and commit them:
`git commit -m "Add your message"`
4. Push to the branch:
`git push origin feature/your-feature-name`
5. Open a pull request.
## π License
This repository is open source and under [MIT](https://choosealicense.com/licenses/mit/) License.
--- **_Lets Build & Grow Together_** **π** ---