This project is in development as for now.
Welcome to the Awesome Anime Website, your go-to destination for watching anime without any annoying ads. This project is created for educational purposes only.
🎉 Dive into the captivating world of anime without interruptions! This website provides a seamless streaming experience, free from distracting advertisements. Enjoy your favorite anime series and movies with ease.
Next.js:
The entire application is wrapped with Next.js (using the app/ router) and TypeScript.
Why use Next.js instead of Vite-ReactJS or CRA (Create React App)?: While Vite and CRA are great choices, I chose Next.js for its built-in features like server-side rendering (SSR) and static site generation (SSG). Another key reason is to leverage next-auth for authentication and its seamless integration with React.
TailwindCSS:
My relationship with TailwindCSS has deepened ❤️ (One-sided love).
While I prefer using Tailwind for its utility-first approach, I can still work with plain CSS, SCSS, or frameworks like Bootstrap when needed.
Zustand (for application state management):
Zustand provides a simple and lightweight state management solution without requiring the wrapping of the entire application in providers (like React Context does). It allows for global state management in a very intuitive way.
Persist state on localStorage:
TanStack Query (formerly React Query):
TanStack Query is a data-fetching library that allows for efficient and powerful data synchronization with the server, offering features like caching, pagination, and automatic re-fetching.
useMutation for making changes to data (e.g., on paginated data or API requests) like search results, categories, and genres.useQuery for fetching data efficiently and caching the results to minimize unnecessary API calls.Also used useQueries to fetch data from multiple APIs simultaneously (such as fetching carousel data and scheduled anime data).
ShadCN UI Components:
ShadCN is a utility-first, highly customizable set of React UI components designed to improve development speed and consistency. It provides ready-made components like buttons, modals, etc.
ArtPlayer:
ArtPlayer is a highly customizable HTML5 video player designed for streaming media. It is used as the core player for AniFire to stream anime episodes without interruptions and offer a smooth playback experience.
React Icons:
React Icons is a library that provides a collection of SVG icons that are customizable and easy to use within React applications. These are used to display various icons in the AniFire UI.
Prettier Formatter:
bash
git clone https://github.com/Zeddxx/ani-fire.git
bash
npm install or yarn add or pnpm install
.env on root directory.[!TIP] path: root to anifire outside the app directory
## This should be a aniwatch api of ritesh repo (without last slash /)
NEXT_PUBLIC_BASE_ANIME_URL=E.G -> base_url/api/v2/hianime
$ claude mcp add ani-fire \
-- python -m otcore.mcp_server <graph>