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 AutoManga-like Service with Node.js | 使用 Node.js 构建类似 AutoManga 的服务 #21

Open
14 tasks
niracler opened this issue Aug 22, 2024 · 0 comments
Assignees
Labels
portfolios practice question Further information is requested

Comments

@niracler
Copy link
Owner

Summary

Create a backend service using Node.js that functions similarly to AutoManga. The service will automate the process of finding, downloading, and organizing manga chapters. | 使用 Node.js 创建一个后端服务,功能类似于 AutoManga。该服务将自动化地查找、下载并整理漫画章节。

TODO List

Step 1: Requirements and Design (1 week)

  • Define Project Requirements:

    • Identify core features similar to AutoManga, such as searching for and downloading manga, organizing files, etc.
    • Create user stories or feature lists.
  • Design the System Architecture:

    • Determine how your service will interact with external resources (e.g., RSS feeds or APIs from manga websites).
    • Design the 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 or call APIs from manga sources.
    • Parse and filter the feeds to identify newly released manga chapters.
  • Download Management:

    • Integrate Node.js with a downloader package (e.g., axios or request).
    • 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 RESTful API endpoints 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 profiling tools to identify bottlenecks.
    • Optimize code where necessary for better performance.

Books & Resources

@niracler niracler self-assigned this Aug 22, 2024
@niracler niracler added question Further information is requested practice portfolios labels Aug 22, 2024
@niracler niracler moved this from Ready to Backlog in @Niracler's Random Dare Dec 6, 2024
@niracler niracler moved this from Backlog to Ready in @Niracler's Random Dare Dec 31, 2024
@niracler niracler moved this from Ready to Backlog 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
Labels
portfolios practice question Further information is requested
Projects
Status: Backlog
Development

No branches or pull requests

1 participant