MyAnimeSpot is a minimalist web application inspired by anime platforms like MyAnimeList and Anilist. It provides users with a straightforward way to track and explore anime titles, powered by the GraphQL AniList API.
Client: React, ReactQuery, ApolloClient, TailwindCSS, Flowbite, Toastify
Server: Laravel
DB: MySQL
-
User authentication
-
Anime list management
- Personalized user dashboard for managing anime entries, updating progress, and changing status.
-
Browse capabilities
- Filter options for refining searches based on genre, season, release year, and sorting by popularity or trending.
- Dynamic search bar for on-the-fly refinement of searches.
-
Responsive design
-
Dark mode toggle
-
Integrated toasts for feedback.
-
Optimistic Updates:
- Utilizes ReactQuery for optimistic updates to provide a smoother user experience by updating the UI optimistically before receiving confirmation from the server.
- Clone the project
- Copy
.env.example
into.env
and configure database credentials - Navigate to the project's root directory using terminal
- Run
composer install
- Set the encryption key by executing
php artisan key:generate --ansi
- Run migrations
php artisan migrate
- Start local server by executing
php artisan serve
- Open a new terminal and navigate to the
react/
folder - Copy
.env.example
into.env
and adjust theVITE_API_BASE_URL
parameter - Run
npm install
- Run
npm run dev
to start a vite server for React - Access the application via http://localhost:3000/