https://github.com/harjjotsinghh/fetchpix
A stock image API which scrapes various stock image websites and returns a valid image URL.
https://github.com/harjjotsinghh/fetchpix
api bun cheerio docker docker-compose elk-stack filebeat hacktoberfest hacktoberfest-accepted hetzner hono locust node-cache stock-image stock-images swagger swagger-ui typescript winston-logger worker-pool
Last synced: 18 days ago
JSON representation
A stock image API which scrapes various stock image websites and returns a valid image URL.
- Host: GitHub
- URL: https://github.com/harjjotsinghh/fetchpix
- Owner: HarjjotSinghh
- License: other
- Created: 2024-09-23T11:13:45.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-12-06T23:31:10.000Z (5 months ago)
- Last Synced: 2024-12-07T00:30:03.470Z (5 months ago)
- Topics: api, bun, cheerio, docker, docker-compose, elk-stack, filebeat, hacktoberfest, hacktoberfest-accepted, hetzner, hono, locust, node-cache, stock-image, stock-images, swagger, swagger-ui, typescript, winston-logger, worker-pool
- Language: TypeScript
- Homepage: https://fetchpix.one
- Size: 189 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

## [![CC BY-NC 4.0][cc-by-nc-shield]][cc-by-nc]
[](https://github.com/Naereen/badges/)
[](https://GitHub.com/HarjjotSinghh/fetchpix/stargazers/)
[](https://harjot.pro)
[](https://github.com/HarjjotSinghh/fetchpix)
[](https://github.com/HarjjotSinghh/fetchpix/commits/main)
[](https://github.com/HarjjotSinghh/fetchpix/commits/main)
[](https://github.com/HarjjotSinghh/fetchpix/issues)
[](https://github.com/HarjjotSinghh/fetchpix/pulls)
[](https://GitHub.com/HarjjotSinghh/fetchpix/watchers/)[cc-by-nc]: LICENSE
[cc-by-nc-image]: https://licensebuttons.net/l/by-nc/4.0/88x31.png
[cc-by-nc-shield]: https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg# Fetchpix
## Introduction
Fetchpix is a simple and lightweight API to fetch random image URLs based on search queries. It leverages modern web
technologies and microservices architecture to provide a scalable and efficient solution for image retrieval.## Table of Contents
- [Introduction](#introduction)
- [Table of Contents](#table-of-contents)
- [Installation](#installation)
- [Tech Stack](#tech-stack)
- [Use Cases](#use-cases)
- [Contribute](#contribute)## Installation
### Local Setup
1. Clone the repository:
```sh
git clone https://github.com/HarjjotSinghh/Fetchpix.git
cd Fetchpix
```2. Install dependencies:
```sh
bun install
```3. Start the development server:
```sh
bun run index.ts --watch --hot | pino-pretty
```### VPS Setup via Docker Compose
1. Clone the repository:
```sh
git clone https://github.com/HarjjotSinghh/Fetchpix.git
cd Fetchpix
```2. Ensure Docker and Docker Compose are installed on your VPS.
3. Start the services:
```sh
docker-compose up --build
```## Tech Stack
- **Bun**: A fast JavaScript runtime.
- **Hono**: A small, simple, and fast web framework for the edge.
- **Axios**: Promise-based HTTP client for the browser and Node.js.
- **Cheerio**: Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
- **Prometheus**: An open-source monitoring system with a time series database.
- **Swagger**: Simplifies API development by providing tools for API documentation.
- **Elasticsearch**: A distributed, RESTful search and analytics engine.
- **Kibana**: Visualization tool for Elasticsearch.
- **Filebeat**: Lightweight shipper for forwarding and centralizing log data.
- **Node-Cache**: Simple and fast Node.js internal caching.
- **Winston**: A logger for just about everything.## Use Case
Here is the use case for the Fetchpix API:
#### Web Design / Prototyping
- Fetch images for use in web design mockups or prototypes.
- Use random stock images as placeholders in web design mockups.## Contribute
We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for more details on how to contribute to
this project.