This repository hosts two applications: a REST API backend written in Golang and a web application frontend written in React. The backend provides endpoints for fetching animes and episodes, as well as scraping episode sources from a third-party website to embed as iframes in the web application. The frontend consists of two pages: one for listing animes and another for listing and playing anime episodes.
- Migrations: go-migrations
- JWT: golang-jwt
- Swagger: echo-swagger
- Mocking DB: go-mocket
- ORM: gorm
-
Fetch Animes
- GET
/api/animes
- Fetch a list of all available animes.
- GET
-
Fetch Episodes
- GET
/api/animes/:id
- Fetch a list of episodes for a specific anime.
- GET
-
Scrape Episode Source
- GET
/episodes/:id/src
- Scrape the source of an episode from a third-party website and embed it as an iframe.
- GET
- TailwindCSS: for styling
- TypeScript: for type-safe JavaScript
- Vite: for fast development and build tooling
-
Anime List
- Displays a list of all available animes.
-
Episode List and Player
- Displays a list of episodes for a selected anime.
- Allows playing an episode by embedding it as an iframe.
- Install dependencies
make install-api
- Run Migrations
make migrate
- Run
make dev-api
or run both
make -j2
- Install dependencies
make install-client
- Run
make dev-client