Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building an AutoBangumi-like Service with Node.js | 使用 Node.js 构建类似 AutoBangumi 的服务 #20

Open
11 tasks
niracler opened this issue Aug 22, 2024 · 2 comments

Comments

@niracler
Copy link
Owner

niracler commented Aug 22, 2024

Summary

Create a backend service that functions like AutoBangumi using Node.js. The service will automate the process of finding, downloading, and organizing bangumi (anime) content. | 使用 Node.js 创建一个类似 AutoBangumi 的后端服务。该服务将自动化地查找、下载和组织番剧(动漫)内容。

TODOList

Step 1: Requirements and Design (1 week)

  • Define Project Requirements:

    • Identify the core features of AutoBangumi that you want to implement (e.g., find and download anime, organize files, etc.).
    • Create user stories or feature lists.
  • Design the System Architecture:

    • Determine how your service will interact with external sources (e.g., RSS feeds, torrent clients).
    • Design database schema for storing metadata about downloaded content.

Step 2: Setting Up the Development Environment (1 week)

  • Environment Setup:

    • Install Node.js and relevant tools (e.g., npm, yarn).
    • Set up a version control system (e.g., Git) and create a GitHub repository.
  • Initialize the Project:

    • Set up package.json and install necessary packages (e.g., Express.js, Axios, Sequelize).

Step 3: Core Features Development (3-4 weeks)

  • Implementation of Content Fetching:

    • Use Node.js to fetch RSS feeds from anime sources.
    • Parse and filter the feeds to identify newly released episodes.
  • Download Management:

    • Integrate with a torrent client or downloader package (e.g., webtorrent or aria2).
    • Implement functionality to start and monitor downloads.
  • File Organization:

    • Develop a system for organizing downloaded files into structured directories.
    • Create a script or service to rename and move files based on metadata.

Step 4: Additional Features (2 weeks)

  • User Notifications:

    • Set up notifications for new downloads via email or messaging services.
    • Consider integration with Telegram for real-time alerts.
  • Web Interface or API:

    • Create a RESTful API endpoint to interact with the service.
    • Develop a simple front-end interface to display download status and history.

Step 5: Testing and Optimization (1-2 weeks)

  • Unit and Integration Testing:

    • Write tests for core components and features.
    • Identify and resolve any bugs or performance issues.
  • Performance Optimization:

    • Use Node.js profilers to identify bottlenecks.
    • Optimize code where necessary for better performance.

Reference

  1. relate repo
@niracler
Copy link
Owner Author

niracler commented Dec 1, 2024

是超级大工程,不过昨天刚好列了一些前置小工作,可以先弄了

@niracler
Copy link
Owner Author

niracler commented Dec 3, 2024

D1 Hello world

https://animashin.niracler.com

@niracler niracler moved this from In progress to Backlog in @Niracler's Random Dare Dec 31, 2024
@niracler niracler moved this from Backlog to Ready in @Niracler's Random Dare Dec 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Ready
Development

No branches or pull requests

1 participant