A Salesforce DX take-home project. Candidates use LWC + Apex to build features on a farm equipment auction platform. The base code is functional with intentional bugs and incomplete features to fix. Please work the way you normally would on the job: use your editor, terminal, docs, search, AI, or any other tools you rely on day to day. All tools are allowed. We’re aiming for 1 - 2 hours of work, no more than that please. The goal is quality over quantity and the ability to speak to your choices. Work through the following steps stopping when you reach time. Ensure all your work is committed and pushed at the end. Please complete this within 5 days and share it back to your HR Representative. When emailing your HR Rep please include any notes or thoughts. The more information you can give back the better.
- Salesforce CLI (
sf) v2+:npm install -g @salesforce/cli - Authorized Dev Hub org:
sf org login web --set-default-dev-hub - Node.js 22+ and npm
- VS Code with the Salesforce Extension Pack (recommended)
git clone <repo-url>
cd salesforce-takehome
npm install
npm run org:setuporg:setup runs these steps in sequence:
- Creates a 7-day scratch org aliased
FarmAuction - Deploys all metadata (objects, Apex classes, LWC components, app)
- Inserts 9 seed auction listings via
scripts/apex/seedData.apex - Opens the org in your browser
To re-open the scratch org later:
npm run org:openTo delete the scratch org when you are done:
npm run org:deleteOnce the org opens, navigate to the Farm Auction tab. You should see 9 active equipment listings. Select a listing to view its details and place bids.
This project simulates a real feature branch in a Salesforce auction app. The app is partially built and intentionally includes a few defects. Your goal is to diagnose issues, ship fixes, and implement missing functionality in Apex and LWC.
Complete the following tasks in order:
Make sure the org is usable and the Farm Auction tab is visible, then fix the bid validation bug so invalid bids are correctly rejected.
Implement listing search and category filters end to end. Resolve related issues you find along the way.
Persist and display bid history so users can see all prior bids for a listing, with the highest bid clearly highlighted.