This project proposal has been put together to help developers who are applying for new positions but don't have any sample code to provide during the hiring process.
We've put together a basic Laravel starter app, which includes authentication scaffolding. To get started, run the following commands:
composer install
php artisan migrate
npm install
npm run dev
After signing up, you'll be redirected to the user's dashboard. This is a static HTML representation of the dashboard mockup built using Tailwind CSS.
The trial project should be built using Laravel and Vue.js and should demonstrate your abilities with these frameworks. The project is split into two deliverables: a CRUD app and a CSV import feature.
A list of the user's balance entries should be shown by default. Entries should be grouped by date. Although pagination is missing from the mockups, feel free to add basic pagination if you get time.
A user should be able to add single balance entries. Adding a new entry should update the balance list and the total balance.
Hovering over an entry should show the edit and delete links.
Clicking 'Delete' should remove the entry from the list and update the total balance. Clicking 'Edit' should reveal the edit form.
Clicking 'Update Entry' should update the balance list and update the total balance.
A CSV file of entries can be imported. The import should happen in the background. The 'Add Entry' and 'Import CSV' buttons should be disabled while the import is working, however, existing entries can be edited or deleted.
Imported entries should not appear in the balance list, until the entire import has completed. When the import is running, a notice should be shown with the count of entries currently being imported.
- Please track your time to give me an idea of how long it takes you to complete each phase of the project.
- Clone this repo and then push it to your own separate GitHub repo under your account (please don't fork this repo)
- Create a new
phase1
branch off of themain
branch and make all your commits for Phase 1 to that branch - When it's ready for review, push the branch to your GitHub repo
- Open a pull request (PR) against your repo (not spinupwp/finance-app-trial-project) to merge your branch into the
main
branch - Reply to our email thread and let me know that Phase 1 is ready for review with a link to the PR and how much time you've put in so far
- Now you can either wait for our code review or continue with Phase 2, completely up to you
- When you're ready to proceed with Phase 2, create a new
phase2
branch off of thephase1
branch - When it's ready for review, push the branch to your GitHub repo and open another PR to merge the branch into the
phase1
branch - Reply to our email thread and let me know that Phase 2 is ready for review with a link to the PR and how much time you've put in so far
- If you make your repo private, grant access to the following users: @georgefehr, @bradt, @Jamesclark32