npm i --prefix client
docker compose up --build
This is a very simple app built using SvelteKit, with a ready-to-use Go server. It uses an open API to download a list of anime and display them. You can access anime details and add them to favorites. All favorites are then displayed on the right side of the screen.
This API has a rate limiter, so sometimes there might be some errors. Just refresh and try again.
docker compose up --build
If you will have any questions, just write to me:
[email protected]
Please, try to not spend more than 6 hours. You don't need to fully finish all of them, choose how much you want to dive into each of them.
But You must at least touch all of them. Sorry :)
The Backend part might be the hardest, so if it will start to take too much time, just show some sql knowlegde or write one simple endpoint.
Style this application a little bit using TailwindCss. Add some animation using gsap (preferably), animejs, motion or svelte animation. Add a table with pagination to the anime list.
On the anime details page, add a button to remove the anime from favorites. For the "Add to favorites" form action, add validation on the server side using the Zod library. When user add or remove anime from favorites, show a toast notification. Make it that there is no type assertion ("as") anywhere.
Instead of using the data/favorites.ts object, use a connected Go backend to store and load favorites. Whenever a user adds more than 5 favorites, show a toast that a limit has been reached. The server is connected, with a workign SQLite database and a simple API.
A little helper:
system_migration.go
)favorites_db.go
)favorites_http.go
)main.go
)To clean the database, just remove the db.sqlite3
files inside system
folder and restart the Docker container.