CampusConnect is a full-stack marketplace web application designed for university students to buy and sell items such as textbooks, electronics, housing, services, and more.
Built with Next.js 15 (App Router), MongoDB, NextAuth.js, and Tailwind CSS, the project features listing management, authentication, mobile responsiveness, toast notifications, and demo listings on initial launch.
- Secure authentication via NextAuth.js (Credentials)
- Create, edit, and delete listings
- Search + filter listings by category and keywords
- Contact seller via email link
- Fully responsive mobile UI
- Seed demo listings for quick preview
- Toast feedback for all key actions
Coming soon
- Frontend: Next.js 15 (App Router) + TypeScript + Tailwind CSS
- Backend: Node.js API routes (in Next.js)
- Database: MongoDB with Mongoose
- Auth: NextAuth.js (Credentials Provider)
- Storage: File upload to
public/uploads(for local demo)
git clone https://github.com/Jordan-Delp/Campus-Connect.git
cd Campus-Connectnpm installCreate a .env.local file in the root directory and add the following:
MONGODB_URI=your_mongo_connection_string
NEXTAUTH_URL=http://localhost:3000
AUTH_SECRET=generate_a_secure_secret
You can generate a secure secret with:
openssl rand -base64 32MONGODB_URI="your_mongo_connection_string" npx tsx scripts/seed.ts npx tsx scripts/seed.tsThis will populate your database with 3 demo listings (MacBook, Textbook, Mini Fridge).
npm run devThen visit http://localhost:3000
- Implemented SSR and API logic with App Router (
app/folder) - Handled secure credentials-based auth with JWT via NextAuth
- Improved UX with toast notifications (react-hot-toast)
- Used Tailwind + responsive classes for mobile-friendly design
src/
|── app/ # App router pages
|── components/ # Reusable UI components
|── lib/ # DB and auth utilities
|── models/ # Mongoose models (Listing, User)
|── public/uploads/ # Image uploads
|── scripts/ # Seed script for demo data
- Image upload to cloud (e.g. Cloudinary, S3)
- Search engine optimization (SEO metadata)
- Pagination or infinite scroll
- Admin/moderation tools
Jordan Delp
MIT License