Digital Awesome Development Test Project
This isn't really a test, rather a way to get an idea of how you problem solve and develop.
The project should take you no more than 4 hours to complete.
Create a branch for your code
When you are ready to start fork this repository to your own github account da-dev-{your_name)
It's a good idea to make a couple of commits during development so we can see how you are progressing.
How to submit your code for review
Please commit all of your working code to your repository. Once you have finished creating the app and have committed your code let a team member know that your app is ready for review. MAKE SURE TO SHARE A LINK TO YOUR REPOSITORY!
Make sure your app is ready for review!
We should be able to pull down your completed repository, install the packages and run it locally to review.
To-do List (Test Project)
We need to create a single list to-do app. There is no authentication required for this app.
The app should display a single to-do list. Anyone can add, remove, or mark complete items in the list.
The only field a to-do list item has is a text description. That is required to add an item to the to-do list.
- When someone adds an item to the list it should save it to the database.
- When someone marks an item on the list complete it should update it in the database and show the item as marked complete.
- When someone removes the item from the list it should soft-delete the item and remove it from the list.
Scope
- I should be able to view all of the items in the to-do list.
- I should be able to add an item to the list
- I should be able to remove an item from the list
- I should be able to mark an item from the list as complete
There are no design requirements for this task. You can install Tailwind or Bootstrap for basic styling if you prefer or include no styling at all.
Technical Requirements
- Database: Mysql or PostgreSQL
- API backend: Laravel
- Frontend: React.js (with typescript and React hooks)
Nice to have but not required:
- Use Repository Pattern
- Use Laravel's APiResource for API responses
Good luck and don't hesitate to reach out if you have any questions or need clarification on the scope or requirements.
Setup
- Create .env file and copy the contents of .env.example file
Install all dependencies
- Run
composer install
- Run
npm install
Start the server
- Run
php artisan serve
- Run
npm run dev
Start MySQL in Apache and execute the migration file
- Create database and name it
todo_list
- Run
php artisan migrate:fresh
Access the application
- Run in any browser
localhost:8000