As a hiring company, I need to be able to add, update, and remove jobs. Jobs should be publishable upon user/owner action. Even after published, the user/owner should be able to update or remove their jobs.
As on-chain data, the jobId field should be saved on-chain. It can be an incremental integer and must be global, meaning any hiring company's next job will receive the next integer number of all jobs added up to that moment.
As off-chain data, we should be able to save the following fields:
Role Title
Description
Location
Max Salary
Min Salary
Bounty
Company name
Note: Let's start with these fields, but we should consider making it easier to add new fields as we evolve.
For the frontend, the added jobs should materialize in the following views:
Jobs Public Page Listing (existing): The jobs should be displayed on a public page listing, allowing users to browse and search for available jobs.
Job Details Page (existing): Each job should have its own details page, providing comprehensive information about the role, description, location, salary, bounty, and company.
Hiring Company Page: The hiring company should have its own page that shows the jobs they own/created. Additionally, the company should be able to view referred candidates (if any) for each job on this page.
Filtering: Users should have the option to filter jobs based on their publication status (published or non-published), allowing them to easily find the desired job listings.
Publishing Action: When a hiring company chooses to publish a job, it should trigger a smart contract method that sends the funds into the smart contract. This action should publish the job and make it available on the public listings page.
By implementing this epic story, we will enable hiring companies to manage their job listings effectively, publish them as desired, and provide a user-friendly frontend experience for job seekers.
Epic Story: Job Management and Publication
As a hiring company, I need to be able to add, update, and remove jobs. Jobs should be publishable upon user/owner action. Even after published, the user/owner should be able to update or remove their jobs.
As on-chain data, the jobId field should be saved on-chain. It can be an incremental integer and must be global, meaning any hiring company's next job will receive the next integer number of all jobs added up to that moment.
As off-chain data, we should be able to save the following fields:
Note: Let's start with these fields, but we should consider making it easier to add new fields as we evolve.
For the frontend, the added jobs should materialize in the following views:
By implementing this epic story, we will enable hiring companies to manage their job listings effectively, publish them as desired, and provide a user-friendly frontend experience for job seekers.
Child User Stories
### Frontend - Job components
### Onchain - Job methods
### Offchain - Job functions