Skip to content

Career_Canvas-Project ๐Ÿ–ฅ๏ธ A full-stack project built with MERN technologies. Through this, I deepened my expertise in MongoDB, Express.js, React, and Node.js, learning authentication, CRUD operations, and scalable application design.

Notifications You must be signed in to change notification settings

StayLearner/Career_Canvas-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Career Canvas ๐ŸŽจ๐Ÿ’ผ

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. ๐ŸŒ


๐Ÿ”— Live Demo

๐Ÿš€ [Career Canvas Live Demo] (link coming soon after deployment)


๐Ÿ“š Table of Contents


โœจ Features

๐ŸŽ“ Student Section

  • 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.

๐Ÿข Recruiter Section

  • 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.

Other Features

  • 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.

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React.js โš›๏ธ
  • Tailwind CSS ๐ŸŽจ
  • Shadcn UI ๐Ÿ–Œ๏ธ
  • Redux Toolkit ๐Ÿ“ฆ for state management

Backend

  • Node.js ๐ŸŸฉ
  • Express.js ๐ŸŒ
  • MongoDB ๐Ÿƒ
  • JWT ๐Ÿ” for token-based authentication
  • OAuth (Google) ๐Ÿ”— for streamlined login

Additional Tools

  • Postman ๐Ÿ“ฌ for API testing
  • Cloudinary โ˜๏ธ for file uploads
  • Framer Motion ๐ŸŽž๏ธ for animations

๐Ÿš€ Installation

  1. Clone the repository:

    git clone https://github.com/StayLearner/Career_Canvas-Project.git
    cd Career_Canvas-Project
  2. Install dependencies:

    npm install
  3. 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
    
  4. Run the application:

    npm start

๐Ÿ“– Usage

  1. 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).
  2. 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).
  3. Profile Management:

    • Users (students) can update their profiles, including the ability to edit most fields except for their name and phone number.

๐Ÿ“ก API Endpoints

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

Note: Detailed API testing done via Postman.

๐Ÿ”ฎ Future Enhancements

  • 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.

๐Ÿค Contributing

Contributions are welcome! Follow these steps:

  1. Fork the repository.
  2. Create a new feature branch.
  3. Commit changes and push them.
  4. Open a pull request.

๐Ÿ“œ License

This project is licensed under the MIT License.


โœจ Built with passion and dedication!

About

Career_Canvas-Project ๐Ÿ–ฅ๏ธ A full-stack project built with MERN technologies. Through this, I deepened my expertise in MongoDB, Express.js, React, and Node.js, learning authentication, CRUD operations, and scalable application design.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages