Skip to content

The backend of a job application platform, built with Node.js/Express. It supports job listings, job application submissions, and employer job postings. Features include Google OAuth for authentication, JWT for securing API endpoints, and Multer for handling resume uploads.

Notifications You must be signed in to change notification settings

Arjuntsuresh/Arjuntsuresh-Arjuntsuresh-JobSync-Angular-Nodejs-Backend-App

Repository files navigation

JobSync-Angular-Nodejs-Backend-App

A platform for job seekers to browse listings and submit applications, while employers can post job openings. Built with Angular (frontend) and Node.js/Express (backend), it features Google OAuth for authentication, JWT for securing APIs, and Multer for resume uploads. The backend is hosted on Render, and the frontend is hosted on Netlify.

Live link.

📋 Table of Contents

📖 Overview

A platform for job seekers to browse listings and submit applications, while employers can post job openings. Built with Angular (frontend) and Node.js/Express (backend), it features Google OAuth for authentication, JWT for securing APIs, and Multer for resume uploads. The backend is hosted on Render, and the frontend is hosted on Netlify.

✨ Features

User Module

  • Registration: Users can create an account with a unique username and password.
  • Login: Users can log in to their accounts using their credentials.
  • Session Management: JWT tokens for securing endpoints and managing sessions.
  • Authentication: Google OAuth for user authentication.
  • Create Jobs: Employers can create new job posts from the portal.
  • Apply for Jobs: Users can apply for new job posts from the portal.

🛠 Technologies Used

  • Angular 16: For creating frontend application.
  • Node.js: JavaScript runtime for building server-side applications.
  • Express: Web application framework for Node.js.
  • MongoDB: NoSQL database for storing user data.
  • Mongoose: ODM (Object Data Modeling) library for MongoDB and Node.js.
  • Express-Session: Middleware for managing sessions.
  • JWT: Used for storing session information.
  • Cloudinary:For storing user CV.

🌐 Deployment

  • Render: Used for deploying backend applications.
  • Netify: Used for deploying frontend applications.

🔧 Setup

To run the application locally:

  1. Clone the repository:
    git clone https://github.com/Arjuntsuresh/Arjuntsuresh-Arjuntsuresh-JobSync-Angular-Nodejs-Backend-App.git
    
  2. Navigate to the project directory:
    cd ../backend
    
  3. Install the dependencies:
    npm install
    
  4. Configure environment variables: Create a .env file in the root directory and add the necessary configuration:
    PORT=your_port
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET_KEY=your_jwt_secret_key
    TOKEN_HEADER_KEY=your_token_header_key
    CLIENT_ID=Your_client_id
    CLOUD_API_KEY=Your_cloud_API_ID
    CLOUD_API_SECRET_KEY=Your_cloud_Api_id
    CLOUD_NAME=Your_Cloud_Name
    
  5. Start the application:
    npm start
    

🤝 Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the project.
  2. Create your feature branch: git checkout -b feature/AmazingFeature.
  3. Commit your changes: git commit -m 'Add some AmazingFeature'.
  4. Push to the branch: git push origin feature/AmazingFeature.
  5. Open a pull request.

📄 License

This project is open-source and available under the MIT License.

📬 Contact

If you have any questions, suggestions, or want to collaborate on a project, feel free to reach out.

About

The backend of a job application platform, built with Node.js/Express. It supports job listings, job application submissions, and employer job postings. Features include Google OAuth for authentication, JWT for securing API endpoints, and Multer for handling resume uploads.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published