/job-portal

Job portal app that create using Next.js and MongoDB as its database

Primary LanguageTypeScriptMIT LicenseMIT

Forks Stargazers Issues MIT License LinkedIn


Logo

Job Portal Application

An awesome job portal application based on website
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

Job Portal Application is a web application that have 3 main roles inside it, such as admin, organization, and also jobseeker. A jobseeker role can find and apply job to a certain opened job by an organization like usual, uploading their CV, edit their profile, etc. An organization role has access to post a job, hire and reject applicant, etc. An admin role will mainly keep track of organization that are registered to the application, then decide whether to accept or reject the organization based on the information provided.

back to top

Built With

Main technology used to built this application are listed below:

back to top

Getting Started

To get started with this project locally, follow below steps:

Prerequisites

Make sure you have package manager (either npm or yarn)

FYI: This project uses yarn as package manager, but you're free to use npm too.

  • Install Yarn (Only for user who want to use yarn)
    npm i -g yarn
    

Installation

Below steps will guide you through the local installation process of this application

  1. Get your Google Client ID, Google Client Secret, and also GMail Refresh Token from here
  2. Get your MongoDB cloud connection at here
  3. Clone the repo
    git clone https://github.com/stanleyclaudius/job-portal.git
    
  4. Install project dependency
    Make sure that your terminal pointing at the root directory of this project (job-portal folder).
    yarn install && cd client && yarn install
    
  5. Complete the .env.local variable
    Rename .env.local.example file at job-portal directory become .env.local, then fill the value for every key. Below is the guideline for filling the .env value:
    Key What To Fill Example Value
    CLIENT_URL Your client side URL http://localhost:3000
    MONGO_URL Your MongoDB URL mongodb://user:user1234@main-shardxxxx
    ACCESS_TOKEN_SECRET Random complex string for JWT DUhxdx183)_--aACN#2%
    REFRESH_TOKEN_SECRET Random complex string for JWT 17hdjcD7ud(-*&732~
    ACTIVATION_TOKEN_SECRET Random complex string for JWT kc81i^&%`-Did##1Z
    GOOGLE_CLIENT_ID Your google client ID 3392348929324-tarur228dxxx
    GOOGLE_CLIENT_SECRET Your google client secret GOCSPX-xxxxxxx
    GMAIL_REFRESH_TOKEN Your gmail refresh token 1//028dhdjBMudu2829xxx
    MAIL_SENDER_ADDRESS Email that want to be used to send mail example@gmail.com
  6. Lastly, run below command at your terminal to spin off the application
    yarn dev
    

back to top

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  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

back to top

License

Distributed under the MIT License. See LICENSE.txt for more information.

back to top

Contact

LinkedIn: Stanley Claudius

Project Link: https://github.com/stanleyclaudius/job-portal

back to top

Acknowledgments

Special thanks to:

  • Othneildrew for providing an amazing README template.
  • React Icons for providing icon to be used in this application.
  • Tailwind CSS for providing CSS framework to be used in this application.
  • Vercel for providing hosting service for this application.

back to top