Skip to content

pari-28/campusfind

Repository files navigation

CampusFind

CampusFind is a full-stack college discovery and decision-making platform built using Next.js, Prisma, PostgreSQL (Neon), NextAuth, TailwindCSS, and shadcn/ui.

The platform helps students explore colleges, compare institutions, predict college matches based on rank, save colleges, and participate in student discussions.


Features

1. College Listing + Search

  • Search colleges
  • Filter colleges
  • View ratings, fees, and locations
  • Responsive college cards

2. College Detail Pages

  • College overview
  • Placement information
  • Student reviews
  • Fees and ratings

3. Compare Colleges

  • Compare multiple colleges side-by-side
  • Compare:
    • fees
    • ratings
    • placements
    • location

4. Predictor Tool

  • Input entrance exam rank
  • Get safe, match, and reach college suggestions
  • Mock cutoff-based recommendation system

5. Authentication + Saved Colleges

  • Login system using NextAuth
  • Save colleges
  • View saved colleges
  • Save college comparisons

6. Student Discussions

  • Browse discussions
  • View discussion details
  • Answer discussion threads

Tech Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • TailwindCSS
  • shadcn/ui

Backend

  • Next.js API Routes
  • Prisma ORM
  • PostgreSQL (Neon)

Authentication

  • NextAuth

Deployment

  • Vercel
  • Neon PostgreSQL

Architecture

The application follows a full-stack architecture using Next.js App Router.

  • Frontend pages are built using React Server Components and Client Components.
  • Prisma ORM handles database communication.
  • PostgreSQL (Neon) stores colleges, users, saved colleges, and comparisons.
  • NextAuth manages authentication and protected routes.
  • APIs are implemented using Next.js route handlers.

Database Models

Main database entities include:

  • User
  • College
  • Review
  • SavedCollege
  • SavedComparison

Setup Instructions

1. Clone Repository

git clone <your-repository-url>
cd campusfind

## 2. Install Dependencies
npm install

## 3. Configure Environment Variables

Create a .env file:

DATABASE_URL=your_database_url
NEXTAUTH_SECRET=your_secret
NEXTAUTH_URL=http://localhost:3000

## 4. Run Prisma Migration
npx prisma migrate dev
## 5. Seed Database
npm run db:seed
## 6. Start Development Server
npm run dev


## Demo Credentials
Email: demo@college.com
Password: password123

## Key Engineering Decisions

- Used Prisma ORM for type-safe database access
- Used PostgreSQL for relational data persistence
- Used NextAuth for secure authentication
- Implemented protected saved routes
- Built reusable UI components using shadcn/ui
- Focused on responsive and production-oriented UX

## Challenges Faced

- Handling authentication flow with protected routes
- Database schema migrations using Prisma
- Integrating saved comparisons
- Managing responsive layouts
- Handling dynamic routing in Next.js App Router

## Future Improvements

- Real-time discussion system
- Advanced predictor algorithm
- Pagination and infinite scroll
- Advanced filtering
- AI-based college recommendations
- User profile customization

## Author

Pari Sangamnerkar

## License

This project was built as part of a Full Stack Developer internship assignment.

About

Full-stack college discovery platform built with Next.js, Prisma, PostgreSQL, NextAuth, TailwindCSS, and shadcn/ui. Features include college search, comparison, predictor tool, authentication, saved colleges, and student discussions.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors