Career Canvas is a comprehensive job-seeking platform that connects students with recruiters, providing a dual-interface for students and recruiters. With robust search and filtering options, clear application tracking, and a scalable backend, Career Canvas aims to streamline the job search and recruitment process. ๐
๐ [Career Canvas Live Demo] (link coming soon after deployment)
- Job Search & Filter ๐: Students can search and filter jobs based on role, location, and other criteria for targeted job searches.
- Application Tracking ๐: Track applications with real-time status updates, including accepted and rejected applications.
- Profile Management ๐: Update profile details (except name and phone number) for a personalized experience.
- Company Management ๐ฌ: Recruiters can manage multiple companies under their account, with options to add, edit, and delete company profiles.
- Job Listings ๐: Recruiters can create multiple job postings for each company, view applicant lists, and manage application statuses.
- Secure Authentication ๐: JWT for secure login, with Google OAuth for convenient access.
- Full MVC Architecture ๐ ๏ธ: Structured, maintainable codebase.
- Persistent Data Storage ๐พ: MongoDB for reliable data storage.
- Cloudinary Integration โ๏ธ: Easy file uploads for resumes and profile pictures.
- Smooth Animations ๐ฅ: Framer Motion for interactive UI effects.
- Route Protection ๐: Secure access with protected routes.
- React.js โ๏ธ
- Tailwind CSS ๐จ
- Shadcn UI ๐๏ธ
- Redux Toolkit ๐ฆ for state management
- Node.js ๐ฉ
- Express.js ๐
- MongoDB ๐
- JWT ๐ for token-based authentication
- OAuth (Google) ๐ for streamlined login
- Postman ๐ฌ for API testing
- Cloudinary โ๏ธ for file uploads
- Framer Motion ๐๏ธ for animations
-
Clone the repository:
git clone https://github.com/StayLearner/Career_Canvas-Project.git cd Career_Canvas-Project
-
Install dependencies:
npm install
-
Environment Variables: Create a
.env
file and add the following:MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret CLOUDINARY_NAME=your_cloudinary_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret
-
Run the application:
npm start
-
Student Login & Job Search:
- Students can log in and browse job listings.
- They can apply for jobs and check their application statuses (Accepted/Rejected).
- Students can update their profile (except for name and phone number).
-
Recruiter Job & Company Management:
- Recruiters can log in, register companies, and post job listings.
- They can view and update company details.
- Recruiters can view applicants for each job and update the application status (Accepted/Rejected).
-
Profile Management:
- Users (students) can update their profiles, including the ability to edit most fields except for their name and phone number.
Hereโs a quick overview of the key API endpoints:
Endpoint | Description | Method |
---|---|---|
/api/auth/register |
Register a new user (Student/Recruiter) | POST |
/api/auth/login |
Login for users (Student/Recruiter) | POST |
/api/auth/logout |
Logout the user | GET |
/api/jobs/post |
Post a new job listing | POST |
/api/jobs/all |
Get all job listings | GET |
/api/jobs/apply/:id |
Apply for a job | GET |
/api/jobs/applied |
Get all jobs a user has applied for | GET |
/api/jobs/applicants/:id |
Get applicants for a specific job | GET |
/api/jobs/status/:id |
Update the application status (Accepted/Rejected) | POST |
- Custom Domain ๐: Deployment with a
.com
or.in
domain. - Advanced Filtering ๐: Additional filters for a more refined job search.
- Admin Dashboard ๐: For enhanced management capabilities.
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a new feature branch.
- Commit changes and push them.
- Open a pull request.
This project is licensed under the MIT License.