Welcome to CampusConnect, a full-stack application designed to help college students explore and prepare for campus placements. This application is built with Next.js and Firebase, providing a seamless and feature-rich experience for both students and administrators.
- Company Listings: Browse a comprehensive list of companies with details on salary packages, eligibility criteria, exam patterns, and preparation tips.
- Search and Filter: Easily find companies by name, or filter them based on salary range and branch eligibility.
- Favorites: Students can bookmark companies they are interested in and view them on a dedicated favorites page.
- AI-Powered Recommendations: A smart tool that provides personalized preparation tips based on a student's profile and their target company.
- Admin Panel: A secure dashboard for administrators to manage company listings (Add, Update, Delete).
- Authentication: Secure user registration and login for students and admins.
- Responsive Design: A modern, clean, and professional UI that works beautifully on all devices.
- Dark/Light Mode: Support for both light and dark themes.
- Frontend: Next.js (React)
- UI Components: shadcn/ui, Tailwind CSS
- Icons: Lucide React
- Backend: Next.js Server Actions (simulating Firebase backend logic)
- State Management: React Hooks, Context API
- AI: Genkit (simulated via Server Actions)
- Node.js (v18 or later)
- npm or yarn
-
Clone the repository:
git clone <repository-url> cd CampusConnect
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
Open http://localhost:9002 with your browser to see the result.
- Home (
/): The main dashboard where students can see all company listings. - Company Details (
/companies/[id]): A detailed view of a specific company. - Favorites (
/favorites): A personalized list of bookmarked companies. - AI Recommendations (
/recommendations): Access the AI tool for preparation tips. - Admin Panel (
/admin): A protected route for admins to manage data. - Login/Signup (
/login,/signup): User authentication pages.