The challenge will contain a few core features most applications have. That includes connecting to an API, basic MVC, exposing an API, and finally tests.
The API we want you to connect to is https://kanye.rest/
- A web page that shows 5 random Kayne West quotes
- There should be a button to refresh the quotes
- There should be a button besides each quote to save it to your favorites
- A web page that shows your saved favorites
- There should be a button to delete a quote from your favorites
- Authentication for these pages should be done with a password
- Frontend should be done with Vue.js and optionally Inertia.js
- An API route should be available to fetch a specified number of quotes random Kayne West quotes
- An API route should be available to fetch your favorites quotes
- The API route should be secured with a token
- Above features are tested with Feature tests
Imagine this app is going to be submitted to Kanye himself, so you implement a new extra feature to really impress him with your creativity and coding skills. What would that new killer feature be? Please implement it in the app.
Name: <your name>
Email: <your email>
-
Create a bare clone of the repository. (This is temporary and will be removed so just do it wherever.)
git clone --bare https://github.com/FmTod/skill-assessment-kanye-west.git
-
Create a new repository on GitHub.
-
Mirror-push your bare clone to your new repository.
Replace <username> with your actual Github username in the url below.
Replace <repository> with the name of your new repository.cd skill-assessment-kanye-west.git git push --mirror https://github.com/<username>/<repository>.git
-
Delete the bare clone created in step 1.
cd .. rm -rf skill-assessment-kanye-west.git
-
You can now clone your repository, where you are going to be working, on your machine (in my case in the code folder).
cd ~/code git clone https://github.com/<username>/<repository>.git
-
Create a copy of the
.env.example
file as.env
cp .env.example .env
-
Install dependencies:
docker run --rm \ -u "$(id -u):$(id -g)" \ -v $(pwd):/var/www/html \ -w /var/www/html \ laravelsail/php81-composer:latest \ composer install --ignore-platform-reqs
-
Start the container (Sail):
./vendor/bin/sail up -d
-
Generate a new secret key:
./vendor/bin/sail key:generate
-
(IMPORTANT) Edit the README.md file and add your name and email.
- Name: `<your name>` <br/> - Email: `<your email>` <br/> + Name: Jhon Doe <br/> + Email: [email protected] <br/>
-
(IMPORTANT) Submit your first commit with just the changes to the README.md file. Must be done before starting the assignment.
git add README.md git commit -m "Initial commit" git push
./vendor/bin/sail php --version
./vendor/bin/sail php script.php
./vendor/bin/sail composer require laravel/sanctum
./vendor/bin/sail artisan queue:work
./vendor/bin/sail node --version
./vendor/bin/sail npm run dev
If you wish, you may use Yarn instead of NPM:
./vendor/bin/sail yarn
./vendor/bin/sail test
./vendor/bin/sail test --group orders