FreeAnime.tv
Fast and free anime website for browsing online embedded content
Design Rules
- No backend. Being client-side allows use to have zero maintenance costs, which is important for the long-term survival of the project.
- Free (as in freedom) and open-source. This is a project from the community, for the community, and all design decisions must respect that.
Design Goals
- Fast
- Lightweight
- Unintrusive
- Feature Rich
Architecture and Tech Stack
- Language: TypeScript
- Package Manager: npm
- Client Framework: SolidJS
- CSS Framework: Tailwind
- CI/CD: Github Actions
- CDN: Github Pages
Other Tools and Technologies
- Wiki: Github Wiki
- Mockup Tool: Penpot
- Art: Krita, Inkscape (original assets are saved in the freeanime/art repo)
Development
git clone https://github.com/freeanime/freeanime.tv.git
cd freeanime.tv
npm i # install dependencies
npm run dev # build and run locally
Recommended VSCode extensions:
We use the Airbnb style guide. See their file naming convention here.
API Parsing
Every page must be self-contained, meaning if you give that link to someone else, everything works as intended.
Prefered methods for piggybacking on APIs:
- Use source's native JSON API
- Use HTML parser on source' native HTML API
- Use HTML parser on the source's entire page
- Use source's JSON search API to find the title
- Use HTML parser on the source's HTML search results to find the title
Disclaimer
FreeAnime.tv does not store or serve any content from its servers. All contents are provided by non-affiliated third parties.