Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/open-webtoon-reader/owr-api
Rest API for future webtoon reader (and downloader) app
https://github.com/open-webtoon-reader/owr-api
nestjs prisma restful-api typescript webtoon-downloader webtoon-reader
Last synced: about 2 months ago
JSON representation
Rest API for future webtoon reader (and downloader) app
- Host: GitHub
- URL: https://github.com/open-webtoon-reader/owr-api
- Owner: Open-Webtoon-Reader
- License: mit
- Created: 2024-05-04T09:25:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-22T14:46:33.000Z (8 months ago)
- Last Synced: 2024-05-22T15:56:39.189Z (8 months ago)
- Topics: nestjs, prisma, restful-api, typescript, webtoon-downloader, webtoon-reader
- Language: TypeScript
- Homepage:
- Size: 421 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Open Webtoon Reader - API
A RESTful API for the upcoming webtoon reader and downloader application.
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Running the Application](#running-the-application)
- [On a basic server](#on-a-basic-server)
- [With Pterodactyl](with-pterodactyl)
- [Configuration](#configuration)
- [API Endpoints](#api-endpoints)
- [Technologies Used](#technologies-used)
- [Contributing](#contributing)
- [License](#license)## Overview
OWR-API provides endpoints to fetch, read, and download webtoons, supporting the webtoon reader and downloader application.## Features
- Download and save webtoons
- Fetch webtoons, episodes list and content## Getting Started
### Prerequisites
- Node.js
- npm/pnpm package manager### Installation
1. Clone the repository:
```sh
git clone https://github.com/Open-Webtoon-Reader/OWR-API.git
cd OWR-API
```
2. Install dependencies:
```sh
pnpm install
```## Configuration
Create a `.env` file in the root directory with the following variables:
```ini
# Server
SERVER_TYPE="http"
BIND_ADDRESS="0.0.0.0"
HTTP_PORT="3000"
HTTPS_PORT="3001"# SSL
SSL_KEY_FILE=""
SSL_CERT_FILE=""# API
PREFIX="api/v1/"# Security
ADMIN_KEY="admin"
```### Running the Application
#### On a basic server
1. Start the server:
```sh
npx prisma generate
npx prisma migrate deploy
npx prisma db seed
pnpm run start
```
2. The API will be available at `http://localhost:3000` (depending of your `.env` configuration).#### With Pterodactyl
1. Create a new service on your Pterodactyl panel from nodejs egg.
2. Configure the startup command as the following:
```sh
if [ ! -d "OWR-API" ]; then git clone https://github.com/Open-Webtoon-Reader/OWR-API; fi; cd OWR-API || exit; git pull; if [ ! -f ".env" ]; then cp .env.example .env; fi; npm install --force; npx prisma generate; npx prisma migrate deploy; npx prisma db seed; npm run start
```## API Endpoints
The API endpoints will be available at `http://localhost:3000/api/` (depending of your `.env` configuration).## Technologies Used
- **TypeScript**
- **NestJS**
- **Prisma**
- **RESTful API**## Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.## License
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for more details.