Skip to content

iamkabelomoobi/work-whiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

223 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

╔═════════════════════════════════════════════════════════════════════╗
β•‘                                                                     β•‘
β•‘  β–ˆβ–ˆ   β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ        β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β•‘
β•‘  β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ         β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆ      β–ˆβ–ˆ    β•‘
β•‘  β–ˆβ–ˆ β–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ β–ˆ β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ     β–ˆβ–ˆ     β•‘
β•‘  β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ         β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆ    β–ˆβ–ˆ      β•‘
β•‘  β–ˆβ–ˆ   β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ        β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β•‘
β•‘                                                                     β•‘
β•‘                                                                     β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

CI Status CodeQL Status license last-commit


πŸ”— Table of Contents


πŸ“ Overview

❯ A is a modern job board platform designed to streamline the hiring process for recruiters and job seekers. It provides an intuitive interface for posting and discovering jobs, managing applications, and building professional profiles β€” all powered by a secure, role-based authentication system.

πŸš€ Getting Started

β˜‘οΈ Prerequisites

Before getting started with work-whiz, ensure your runtime environment meets the following requirements:

  • Programming Language: Error detecting primary_language: {'json': 11, 'ts': 8, 'js': 1, 'yml': 2}
  • Package Manager: Npm
  • Container Runtime: Docker

βš™οΈ Installation

Install work-whiz using one of the following methods:

Build from source:

  1. Clone the work-whiz repository:
❯ git clone https://github.com/iamkabelomoobi/work-whiz
  1. Navigate to the project directory:
❯ cd work-whiz
  1. Install the project dependencies:

Using npm Β 

❯ echo 'INSERT-INSTALL-COMMAND-HERE'

Using docker Β 

❯ docker build -t iamkabelomoobi/work-whiz .

πŸ€– Usage

Run work-whiz using the following command: Using npm Β 

❯ echo 'INSERT-RUN-COMMAND-HERE'

Using docker Β 

❯ docker build -t work-whiz . && docker run -p 8080:8080 --env-file .env work-whiz

### πŸ§ͺ Testing

Run the test suite using the following command:
**Using `npm`** &nbsp; [<img align="center" src="" />]()

```sh
❯ npm run test

πŸ” Auth API

Auth routes are handled by Better Auth and mounted under /api/auth.

Main endpoints

Method Endpoint
POST /api/auth/sign-up/email
POST /api/auth/sign-in/email
POST /api/auth/sign-out
GET, POST /api/auth/get-session
GET /api/auth/verify-email?token=...
POST /api/auth/send-verification-email
POST /api/auth/request-password-reset
POST /api/auth/reset-password
GET /api/auth/reset-password/:token
POST /api/auth/change-password
POST /api/auth/verify-password

Sign-up request bodies

Candidate:

{
  "name": "Candidate User",
  "email": "candidate@example.com",
  "password": "StrongPass123!",
  "phone": "+270000000001",
  "role": "candidate",
  "title": "Mr"
}

Employer:

{
  "name": "Orbit Talent",
  "email": "employer@example.com",
  "password": "StrongPass123!",
  "phone": "+270000000002",
  "role": "employer",
  "industry": "Technology",
  "websiteUrl": "https://example.com",
  "location": "Remote",
  "description": "Hiring platform team",
  "size": 25,
  "foundedIn": 2020
}

Admin:

{
  "name": "Admin User",
  "email": "admin@example.com",
  "password": "StrongPass123!",
  "phone": "+270000000003",
  "role": "admin"
}

Common request bodies

Sign in:

{
  "email": "candidate@example.com",
  "password": "StrongPass123!"
}

Request password reset:

{
  "email": "candidate@example.com",
  "redirectTo": "http://localhost:4200/reset-password"
}

Reset password:

{
  "token": "reset-token-from-email",
  "newPassword": "NewStrongPass123!"
}

Session and account endpoints

Method Endpoint
GET /api/auth/list-sessions
POST /api/auth/revoke-session
POST /api/auth/revoke-sessions
POST /api/auth/revoke-other-sessions
POST /api/auth/update-session
POST /api/auth/update-user
POST /api/auth/delete-user
GET /api/auth/delete-user/callback
GET /api/auth/list-accounts
POST /api/auth/unlink-account
GET /api/auth/account-info

OAuth and social endpoints

Method Endpoint
POST /api/auth/sign-in/social
GET, POST /api/auth/callback/:id
POST /api/auth/link-social
POST /api/auth/refresh-token
POST /api/auth/get-access-token

The current app configuration enables email/password auth and email verification. Social provider endpoints are exposed by Better Auth, but no social providers are configured yet.


πŸ“Œ Project Roadmap

  • Task 1: User Authentication
  • Task 2: Admin Profile Management.
  • Task 3: Candidate Profile Management.
  • Task 4: Employer Profile Management.
  • Task 4: Job Listing Management.

πŸ”° Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.

  2. Clone Locally: Clone the forked repository to your local machine using a git client.

    git clone https://github.com/iamkabelomoobi/work-whiz
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.

    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.

  5. Commit Your Changes: Commit with a clear message describing your updates.

    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.

    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

Contributor Graph


πŸŽ— License

This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.


πŸ™Œ Acknowledgments

  • List any resources, contributors, inspiration, etc. here.

About

A is a modern job board platform designed to streamline the hiring process for recruiters and job seekers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages