AniX is an anime streaming platform which allows you to watch animes by scraping links from the internet. AniX is built with ReactJS + RTK (redux toolkit) on the frontend and the scraping part is handled by python using scrapy framework.
The scraped links are stored in firestore. The data about animes such as title, episodes, duration etc., is gathered using the Anilist GraphQL API.
NOTE: the UI of AniX is heavily inspired from anilist
Package | For |
---|---|
Redux Toolkit | State Management |
React Redux | Redux bindings for ReactJS |
Styled Components | Styling |
React Router | Routing |
Firebase | Firebase SDK |
Scrapy (python) | Scraping |
- Search animes
- Get recent animes
- Get top rated animes
- Watch animes
- Download them (right click the video and select 'Save As')
- Dark / Light Theme
- Watch trailer and access other interesting info (using Anilist API)
-
To run AniX locally in your machine:
- You need to setup a firebase project and also get your scraper hosted on heroku or scrapinghub.
-
At the root of this project, create a .env file and make sure to provide the values for the following .env variables.
# python scraper hosted url
REACT_APP_SCRAPER=[x]
# firebase
REACT_APP_APIKEY=[x]
REACT_APP_AUTHDOMAIN=[x]
REACT_APP_DATABASEURL=[x]
REACT_APP_PROJECTID=[x]
REACT_APP_STORAGEBUCKET=[x]
REACT_APP_MESSAGINGSENDERID=[x]
REACT_APP_APPID=[x]
- Then run
npm i && npm start
to see AniX in action.