This API provides a set of endpoints for managing job-related activities, including administration, applicant, applicant skills, applications, companies, emails, jobs, resumes, skills, and various data transfer objects (DTOs).
π Create Account: Create admin accounts.
π Login: Log in as an admin.
β Delete Account: Delete admin accounts.
π Update Account: Update admin accounts.
π οΈ Partial Update: Partially update admin accounts.
π₯ Retrieve All Admins: Retrieve all admins.
π Retrieve with Paging: Retrieve admins with paging.
π Register: Register a new applicant.
πͺ Login: Log in as an applicant.
β Add Skills: Add skills to an applicant.
π Retrieve Skills: Retrieve applicant skills.
β Delete Skills: Delete skills of an applicant.
βοΈ Update Info: Update applicant information.
π§ Confirm Email: Confirm applicant's email.
π’ Create Experience: Create work experience for an applicant.
π΅οΈ Retrieve with Jobs: Retrieve applicant details with jobs.
β Delete Experience: Delete work experience of an applicant.
π Update Applicant: Update applicant details.
π Update Experience: Update work experience details.
π Partial Update: Partially update applicant details.
π₯ Retrieve All Applicants: Retrieve all applicants.
β Delete Skill: Delete a skill of an applicant.
β Delete Experience: Delete work experience of an applicant.
π Update Applicant: Update applicant details.
π Update Experience: Update work experience details.
π Partial Update: Partially update applicant details.
πΉ Apply for jobs.
π’ Create: Create a new company.
π Login: Log in as a company.
π Filter Companies: Filter companies.
π΅οΈ Get with Jobs: Get all companies with jobs.
π₯ Get Job Applicants: Get job applicants for a company.
β Delete: Delete a company.
π Update: Update company details.
π οΈ Partial Update: Partially update company details.
π Retrieve All Companies: Retrieve all companies.
π§ Confirm Email: Confirm email.
π Send Reset Password Email: Send reset password email.
π Reset Password: Reset password.
π Update Email: Update email.
π Confirm Updated Email: Confirm updated email.
π Register Employers: Register employers.
πͺ Login as Employer: Log in as an employer.
π₯ Get Employer Details: Get employer details.
β Delete Employers: Delete employers.
π Get All Jobs: Get all jobs.
π Get All Jobs with Pagination: Get all jobs with pagination.
π Filter Jobs: Filter jobs.
β Delete Job: Delete a job.
π Update Job: Update job details.
π οΈ Partial Update Job: Partially update job details.
π Create Resume: Create a new resume.
π Retrieve Resume: Retrieve a resume.
ποΈ Delete Resume: Delete a resume.
π Get All Skills: Get all skills.
π Retrieve Skill by ID: Retrieve a skill by ID.
π Update Skill: Update a skill.
β Delete Skill: Delete a skill.
π Filter Skills: Filter skills.
π Get All Skills with Pagination: Get all skills with pagination.
π Create New Skill: Create a new skill.
π Create Multiple Skills: Create multiple skills.
π οΈ Partial Update Skill: Partially update a skill.
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Admin/CreateAdmin | Create a new admin |
POST | /api/Admin/Login | Login as an admin |
POST | /api/Admin/Logout | Logout an admin |
GET | /api/Admin/GetAdmin | Get admin details |
GET | /api/Admin/GetAllAdmins | Get all admins |
GET | /api/Admin/GetAllAdminsWithPaging/{pageNumber}/{pageSize} | Get all admins with paging |
DELETE | /api/Admin/DeleteAdmin | Delete an admin |
PUT | /api/Admin/UpdateAdmin | Update admin details |
PATCH | /api/Admin/PartialUpdateAdmin | Partially update admin details |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Applicant/Register | Register a new applicant |
POST | /api/Applicant/Login | Login as an applicant |
POST | /api/Applicant/AddSkill | Add a skill to an applicant |
POST | /api/Applicant/CreateExperience | Create work experience for an applicant |
GET | /api/Applicant/ApplicantSkills/{id} | Retrieve skills of an applicant |
GET | /api/Applicant/ApplicantWithJobs/{id} | Retrieve applicant details with jobs |
GET | /api/Applicant/GetAllApplicants | Get all applicants |
DELETE | /api/Applicant/DeleteSkill/{applicantId}/{skillId} | Delete a skill of an applicant |
DELETE | /api/Applicant/Delete/{applicantId}/{experienceId} | Delete work experience of an applicant |
PUT | /api/Applicant/UpdateApplicant/{id} | Update applicant details |
PUT | /api/Applicant/UpdateExperience/{applicantId}/{experienceId} | Update work experience details |
PATCH | /api/Applicant/PartialUpdateApplicant | Partially update applicant details |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Application/ApplyJob | Apply for a job |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Company/register | Create a new company |
POST | /api/Company/login | Login as a company |
GET | /api/Company/GetAll | Get all companies |
GET | /api/Company/GetAll/{filter} | Get filtered companies |
GET | /api/Company/GetAllWithJobs | Get all companies with jobs |
GET | /api/Company/GetJobApplicants/{companyId}/{jobId} | Get job applicants for a company |
DELETE | /api/Company/{id} | Delete a company |
PUT | /api/Company/Update/{Id} | Update company details |
PATCH | /api/Company/PartialUpdate/{Email} | Partially update company details |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Email/ConfirmEmail | Confirm email |
POST | /api/Email/SendResetPasswordEmail | Send reset password email |
POST | /api/Email/ResetPassword | Reset password |
PUT | /api/Email/UpdateEmail | Update email |
POST | /api/Email/ConfirmUpdateEmail | Confirm updated email |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Employer/Register | Register a new employer |
POST | /api/Employer/Login | Login as an employer |
GET | /api/Employer/Get/{id} | Get employer details |
DELETE | /api/Employer/Delete/{id} | Delete an employer |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /api/Job | Get all jobs |
GET | /api/Job/GetAllWithPagination | Get all jobs with pagination |
GET | /api/Job/{filter} | Filter jobs |
POST | /api/Job/Create | Create a new job |
DELETE | /api/Job/Delete/{jobId} | Delete a job |
PUT | /api/Job/Update | Update job details |
PATCH | /api/Job/PartialUpdate/{id} | Partially update job details |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /api/Resume | Create a new resume |
GET | /api/Resume/{id} | Get a resume by ID |
DELETE | /api/Resume/{applicantId}/{ResumeId} | Delete a resume |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /api/Skill/GetAll | Get all skills |
GET | /api/Skill/{id} | Get a skill by ID |
PUT | /api/Skill/{id} | Update a skill |
DELETE | /api/Skill/{id} | Delete a skill |
GET | /api/Skill/{filter} | Filter skills |
GET | /api/Skill/GetAll/{pageSize}/{pageNumber} | Get all skills with pagination |
POST | /api/Skill | Create a new skill |
POST | /api/Skill/multiple | Create multiple skills |
PATCH | /api/Skill/partial-update/{id} | Partially update a skill |
This project utilizes the following tools and concepts:
- .Net 8: The project is developed using the .Net 8 framework, providing a robust and feature-rich development environment.
- EF-Core For Database Command: Using EF-Core For Commands Only Like ( Create, Update, Delete ).
- Dapper For Database Queries: Using Dapper for Querying as it is a micro ORM and is really fast.
- JWT (JSON Web Tokens): JSON Web Tokens are employed for secure and efficient authentication and authorization processes.
- CQRS With Mediator: The project adopts the Command Query Responsibility Segregation (CQRS) pattern with Mediator for managing and separating command and query responsibilities, promoting a cleaner and more scalable architecture.
- UnitOfWork: Unit of Work pattern is implemented to manage transactions and ensure data consistency across multiple database operations.
- Repository Pattern: The repository pattern is utilized for abstracting data access and providing a consistent interface for interacting with the underlying data storage.
- Outlook SMTP Server: supports sending emails using the Outlook SMTP server
- Built Completely in Clean Architecture: The project is structured following the Clean Architecture principles, promoting separation of concerns, maintainability, and testability.
- Job Finder API v1
- OAS3 Documentation
- Authorize as Admin
- Job Finder API v1
- Documentation
- Authorize as Admin