Migrating to typescript! More active development on the beta branch
Warning: If you are not familiar with JavaScript or any other programming language related to this project, please learn it first before attempting to work on this project. I won't be able to help anyone who doesn't know how to do basic stuff.
Moopa is an anime streaming website made possible by the Consumet API, built with Next.js and Tailwind, featuring a sleek and modern design. It offers Anilist integration to help you keep track of your favorite anime series. Moopa is entirely free and does not display any ads, making it a great option for those who want an uninterrupted viewing experience.
- General
- Free ad-supported streaming service
- Dub Anime support
- User-friendly interface
- Auto sync with AniList
- Add Anime/Manga to your AniList
- Scene Searching powered by trace.moe
- PWA supported
- Mobile responsive
- Fast page load
- Watch Page
- Player
- Autoplay next episode
- Skip op/ed button
- Theater mode
- Comment section
- Player
- Profile page to see your watch list
- Add PWA support
- Connect to consumet API to fetch episodes data
- Implement skip op/ed button on supported anime
- Create README file
- Integrate Anilist API for anime tracking
- Ability to auto track anime after watching >= 90% through the video
- Create a user profile page to see lists of anime watched
- Ability to edit list inside detail page
- Working on Manga pages
If you encounter any issues or bug on the site please head to issues and create a bug report there.
If you want to self-host this app, please note that it is only allowed for personal use. Commercial use is not permitted, and including ads on your self-hosted site may result in actions such as site takedown.
- Clone this repository using :
git clone https://github.com/DevanAbinaya/Ani-Moopa.git
- Install package using npm :
npm install
- Create
.env
file in the root folder and put this inside the file :
## AniList
CLIENT_ID="get the id from here https://anilist.co/settings/developer"
CLIENT_SECRET="get the secret from here https://anilist.co/settings/developer"
GRAPHQL_ENDPOINT="https://graphql.anilist.co"
## NextAuth
NEXTAUTH_SECRET='run this cmd in your bash terminal (openssl rand -base64 32) with no bracket, and paste it here'
NEXTAUTH_URL="for development use http://localhost:3000/ and for production use your domain url"
## NextJS
PROXY_URI="This is what I use for proxying video https://github.com/chaycee/M3U8Proxy. Don't put / at the end of the url."
API_URI="host your own API from this repo https://github.com/consumet/api.consumet.org. Don't put / at the end of the url."
DISQUS_SHORTNAME='put your disqus shortname here (optional)'
## Prisma
DATABASE_URL="Your postgresql connection url"
## Redis
# If you don't want to use redis, just comment the REDIS_URL (press ctrl + / on windows or cmd + / on mac)
REDIS_URL="rediss://username:password@host:port"
- Add this endpoint as Redirect Url on AniList Developer :
https://your-website-domain/api/auth/callback/AniListProvider
- Generate Prisma :
npx prisma migrate dev
npx prisma generate
### NOTE
# If you get a vercel build error related to prisma that says prisma detected but no initialized just change the following line in package.json line number 8
"build": "next build" to > "build": "npx prisma migrate deploy && npx prisma generate && next build"
- Start local server :
npm run dev
- Consumet API for anime sources
- AniList API for anime details source
- Anify API for manga sources
- miru for inspiring me making this site
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details.
This means that if you choose to use or host this site for your own purposes, you are also required to release the source code of any modifications or improvements you make to this project. This open-source ethos is central to the project's philosophy.
Thank You for passing by!!
If you have any questions or feedback, please reach out to us at [email protected], or you can join our discord sever.
or you can DM me on Discord Factiven#9110
.