As an applicant, I want to apply to a job post with specific application details so that I can provide my qualifications and express my interest in the position.
Description
This feature will allow an applicant to submit an application for a job post by providing relevant information. Each application will be a new entity associated with the user (applicant) and the job post. The application should include specific information fields, some of which may already be part of the applicant's profile (i.e., user details). If any information already exists in the applicant's profile, it should be excluded from the application schema to avoid redundancy.
Additionally:
An applicant should be able to submit only one application per job post.
The new Application entity should contain fields such as:
Highest level of education (if not already in applicant details)
Essay (200 words maximum) expressing interest
Response to "Do you have a laptop?"
Any other additional information as needed
Tasks
Design & Schema Setup:
Define the Application entity in the database schema with the following fields:
highest_education (check if already available in applicant details)
interest_essay (limited to 200 words)
has_laptop (yes/no response)
Create a foreign key relationship between Application and User (applicant).
Create a foreign key relationship between Application and JobPost.
Backend API Integration (Dependency):
Coordinate with the backend team to ensure API endpoints for creating an application are available.
Fetch applicant profile data and job post details as needed.
Frontend Form UI:
Design and implement a form on the frontend for applicants to submit their application.
Ensure form fields are conditionally displayed based on existing data in the applicant’s profile.
Limit essay input to a maximum of 200 words.
Validation & Error Handling:
Ensure form fields are validated appropriately.
Display a notification if the user tries to submit an application for the same job post twice.
Handle backend responses and show errors or success messages accordingly.
Acceptance Criteria
An applicant can successfully submit an application for a job post through the frontend.
Only one application can be submitted per job post by each applicant.
The form should conditionally display fields based on the applicant’s existing details.
The interest essay field should be limited to 200 words.
The frontend validates all form inputs and shows appropriate error/success messages.
All information provided in the form should be correctly saved in the Application entity and associated with both the User and JobPost entities.
User Story
As an applicant, I want to apply to a job post with specific application details so that I can provide my qualifications and express my interest in the position.
Description
This feature will allow an applicant to submit an application for a job post by providing relevant information. Each application will be a new entity associated with the user (applicant) and the job post. The application should include specific information fields, some of which may already be part of the applicant's profile (i.e., user details). If any information already exists in the applicant's profile, it should be excluded from the application schema to avoid redundancy.
Additionally:
Tasks
Design & Schema Setup:
Define the Application entity in the database schema with the following fields:
Backend API Integration (Dependency):
Frontend Form UI:
Acceptance Criteria