Website •
Features •
Getting Started
Shikkanime is an anime tracking platform that monitors and aggregates information about anime episodes across multiple streaming services. This repository contains the core backend service that powers the Shikkanime platform.
Tracks anime episodes from multiple streaming platforms:
- Crunchyroll - Global leader in anime streaming
- Netflix - Popular streaming service with a growing anime selection
- Animation Digital Network (ADN) - French platform specialized in anime
- Disney Plus - Offering a selection of anime and animated content
- Prime Video - Amazon's streaming service with an anime collection
- Automatic retrieval of information about new episodes
- Updating anime data based on latest releases
- Continuous monitoring of platforms to detect new content
Sends notifications about new episodes to:
- Discord - Instant notifications on Discord servers
- Twitter - Automated tweets for new releases
- Threads - Posts on the Meta Threads platform
- Bluesky - Sharing on the decentralized social network
- Firebase - Mobile push notifications for app users
- Complete RESTful API for accessing anime and episode data
- Secure endpoints with JWT authentication
- Robust authentication and authorization system
- User profile management
- Personalized preferences for anime tracking
- Advanced search functionality for finding anime
- Filtering by season, platform, etc.
- Optimized text search
- JDK 21 or higher
- PostgreSQL database
- Docker (optional, for containerized deployment)
The application can be configured using the following environment variables:
# JWT Configuration
JWT_AUDIENCE - JWT audience (default: jwt-audience)
JWT_DOMAIN - JWT domain (default: https://jwt-provider-domain/)
JWT_REALM - JWT realm (default: ktor sample app)
JWT_SECRET - JWT secret (default: secret)
# Application URLs
API_URL - API URL (default: http://localhost:37100/api)
BASE_URL - Base URL (default: http://localhost:37100)
-
Clone the repository:
git clone https://github.com/Shikkanime/core.git cd core
-
Build the project:
./gradlew build
-
Run the application:
./gradlew run --args="--enable-jobs"
The
--enable-jobs
flag enables scheduled jobs for fetching and updating anime data.
-
Build the Docker image:
docker build -t shikkanime-core .
-
Run the container:
docker run -p 37100:37100 -e JWT_SECRET=your_secret shikkanime-core
Alternatively, use the provided docker-compose.yml:
docker-compose up -d
src/main/kotlin/fr/shikkanime/
Application.kt
- Main application entry pointcontrollers/
- API controllersservices/
- Business logic servicesrepositories/
- Data access layerentities/
- Database entity modelsplatforms/
- Streaming platform integrationssocialnetworks/
- Social network integrationsjobs/
- Scheduled background jobsutils/
- Utility classes
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the terms of the license included in the repository.