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.
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.
- 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.
- 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.
- Render: Used for deploying backend applications.
- Netify: Used for deploying frontend applications.
To run the application locally:
- Clone the repository:
git clone https://github.com/Arjuntsuresh/Arjuntsuresh-Arjuntsuresh-JobSync-Angular-Nodejs-Backend-App.git
- Navigate to the project directory:
cd ../backend
- Install the dependencies:
npm install
- 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
- Start the application:
npm start
Contributions, issues, and feature requests are welcome!
- Fork the project.
- Create your feature branch: git checkout -b feature/AmazingFeature.
- Commit your changes: git commit -m 'Add some AmazingFeature'.
- Push to the branch: git push origin feature/AmazingFeature.
- Open a pull request.
This project is open-source and available under the MIT License.
If you have any questions, suggestions, or want to collaborate on a project, feel free to reach out.
- Name: Arjun T S
- GitHub: Arjuntsuresh
- LinkedIn: Arjun Suresh
- Email: Mail me