Skip to content

Latest commit

 

History

History
102 lines (75 loc) · 3.57 KB

File metadata and controls

102 lines (75 loc) · 3.57 KB

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.