CareerNest / Job-board learning project / 2024
Building a job board around structured postings.
CareerNest connects job requirements, candidate applications and company posting allowances through Laravel records rather than one large description field.
- ROLE
- Laravel implementation / coursework
- STATE OF THE BUILD
- Study
- RECORD UPDATED
- PUBLIC SOURCE
- View on GitHub
THE WORK
The project.
In this Laravel coursework, a job posting is more than its written description. CareerNest stores skills, benefits and location as related data, then brings postings and application counts together in the company dashboard. Candidate profiles and applications have their own editing paths. That structure gives the board data it can query and manage, while making a posting's several writes and allowance change part of the same engineering problem.
IMPLEMENTATION
Design choices.
- Skills, benefits and locations remain related records, so queries can work with them directly instead of trying to recover structure from prose.
- Company posting edits and candidate profile edits use separate controllers. Each path deals with its own fields and operations while sharing the relevant relationships.
- The posting, its related rows and the remaining allowance need to agree. The current sequence doesn't establish that all writes succeed or roll back together; that needs a transaction review and failure tests.
HOW IT FITS TOGETHER
Architecture.
- The company controller creates a job for the signed-in user's company, adds its tags, skills and benefits, then reduces the remaining posting allowance. Each step writes a different record, so creating a posting involves more than saving the form's main row.
- The company list queries its jobs with application counts, letting the dashboard show responses alongside each opening. Candidate controllers manage the profile, education and experience used around the separate application and bookmark flows.
- Public, company and candidate routes render different Blade interfaces over the shared models. The controllers separate the work each interface performs without duplicating the underlying job data.
MADE WITH
PHP · Laravel 10 · Blade · Eloquent · Spatie permissions
CHECKS & RESULTS
What was checked.
A source review shows what the code does. It is not a fresh test of the running app.
Code and development records reviewedReviewed
The code, tests and available development records were checked. Reported test results keep their original scope. No fresh app or live deployment check was run for this write-up.
- Scope of this check
- Code review, not a fresh run of the app
NEXT
Still to work through.
This is a coursework implementation, not a verified recruitment service. The next checks are transaction failures and access to another company's records. Payment code is present, but neither live billing nor employer receipt of applications was verified.