Skip to content

MeherajUlMahmmud/JobBoardAPI

Repository files navigation

JobBoard REST API

Table of Contents

Installation

  1. Make sure you have Python 3.x and pip installed.
  2. Clone this repository to your local machine.
  3. Navigate to the project directory.
  4. Create and activate a virtual environment (optional, but recommended).
  5. Install the project dependencies by running the following command:
    pip install -r requirements.txt

Features

Authentication

  • Register as an Applicant or an Organization.
  • Login as an Applicant or an Organization.
  • Reset password.
  • Verify email.
  • Change password
  • Change email.
  • Update profile. (Applicant, Organization)
  • Save images to AWS S3.

Resume Builder

  • Create, update, and delete Resume.
  • Update Personal Information.
  • Update Contact Information.
  • Create, update and delete Work Experience.
  • Create, update and delete Education.
  • Create, update and delete Skills.
  • Create, update and delete Projects.
  • Create, update and delete Certifications.
  • Create, update and delete Awards.
  • Create, update and delete Publications.
  • Create, update and delete References.
  • Create, update and delete Languages.
  • Create, update and delete Interests.

Job

  • Create, update, and delete Job. (Organization)
  • View Job details. (Applicant)
  • View all Jobs. (Applicant)
  • View all Jobs. (Organization)
  • View all Jobs. (Public)
  • Search Jobs by title, location, and company. (Public)
  • Apply for a Job. (Applicant)
  • View all Job applications. (Organization)
  • View all Job applications. (Applicant)
  • View all Job applications by Job. (Organization)
  • View all Job applications by Job. (Applicant)
  • View total Job applications by Job. (Public)

Test

  • Create, update, and delete Test. (Organization)
  • View Test details. (Applicant)
  • View all Tests. (Organization)
  • Create, update, and delete Test questions. (Organization)
  • View all Test questions by Test. (Applicant)
  • View all Test questions by Test. (Organization)
  • View all Question Options by Test question. (Applicant)
  • View all Question Options by Test question. (Organization)
  • Attempt Test. (Applicant)
  • View all Test attempts. (Organization)
  • View all Test attempts. (Applicant)
  • View all Test attempts by Test. (Organization)
  • View Test attempt by Test. (Applicant)

Configuration

  1. Set up your database connection in the settings.py file.
  2. Run the following commands to perform database migrations:
    python manage.py makemigrations
    python manage.py migrate
  3. (Optional) Configure environment variables for sensitive information.
  4. (Optional) Customize the API settings in the settings.py file.

Usage

  1. Start the development server by running the following command:
    python manage.py runserver
  2. Access the API at http://localhost:8000/.
  3. Refer to the API documentation for available endpoints and usage examples.

Authentication and Permissions

This API uses token-based authentication. To obtain a token:

  1. Create a user account by registering at /api/auth/register/.

  2. Obtain a token by authenticating at /api/auth/login/.

  3. Include the obtained token in the request header as follows:

    Authorization: Bearer <token>

To access restricted endpoints, make sure your token has the necessary permissions.

Documentation

For detailed documentation and API reference, please visit the project wiki.

Contribution Guidelines

Contributions, bug reports, and feature requests are welcome! Please follow the guidelines outlined in Contributing.

Please note that this project follows a Code of Conduct. Make sure to review and adhere to it.

License

This project is licensed under the MIT License.

Contact Information

For any questions or feedback, please reach out to the project maintainer at meherajmahmmd@gmail.com or open an issue on GitHub.

Releases

No releases published

Packages

No packages published