As a backend developer, I need to implement a comprehensive API for managing job applications so that the frontend can interact with the system to create, read, update, and delete job entries efficiently.
Acceptance Criteria
Implement RESTful API endpoints for:
POST /jobs: Create a new job application.
GET /jobs: Retrieve a list of all job applications (with optional filtering/pagination).
GET /jobs/{id}: Retrieve details for a specific job application.
PUT /jobs/{id}: Update an existing job application.
DELETE /jobs/{id}: Delete a job application.
Each job application entity should include fields such as job title, company, status (e.g., Applied, Interviewing, Offer, Rejected), application date, and notes.
Data validation is applied to all incoming request payloads for job creation and updates.
Error handling is implemented for invalid requests, non-existent resources, and server errors.
Database schema (PostgreSQL) is designed and migrated to support the job application entity.
Authentication and authorization checks are enforced for all API operations (refer to #7).
## User Story
As a backend developer, I need to implement a comprehensive API for managing job applications so that the frontend can interact with the system to create, read, update, and delete job entries efficiently.
## Acceptance Criteria
- Implement RESTful API endpoints for:
- `POST /jobs`: Create a new job application.
- `GET /jobs`: Retrieve a list of all job applications (with optional filtering/pagination).
- `GET /jobs/{id}`: Retrieve details for a specific job application.
- `PUT /jobs/{id}`: Update an existing job application.
- `DELETE /jobs/{id}`: Delete a job application.
- Each job application entity should include fields such as job title, company, status (e.g., Applied, Interviewing, Offer, Rejected), application date, and notes.
- Data validation is applied to all incoming request payloads for job creation and updates.
- Error handling is implemented for invalid requests, non-existent resources, and server errors.
- Database schema (PostgreSQL) is designed and migrated to support the job application entity.
- Authentication and authorization checks are enforced for all API operations (refer to #7).
- Depends on completion of #1, #7.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
User Story
As a backend developer, I need to implement a comprehensive API for managing job applications so that the frontend can interact with the system to create, read, update, and delete job entries efficiently.
Acceptance Criteria
POST /jobs: Create a new job application.GET /jobs: Retrieve a list of all job applications (with optional filtering/pagination).GET /jobs/{id}: Retrieve details for a specific job application.PUT /jobs/{id}: Update an existing job application.DELETE /jobs/{id}: Delete a job application.