Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/passidel/thalia
Thalia book price tracker
https://github.com/passidel/thalia
books bun docker nuxt price thalia tracker vue
Last synced: 9 days ago
JSON representation
Thalia book price tracker
- Host: GitHub
- URL: https://github.com/passidel/thalia
- Owner: PassiDel
- License: gpl-3.0
- Created: 2024-10-26T14:03:01.000Z (11 days ago)
- Default Branch: main
- Last Pushed: 2024-10-27T12:35:26.000Z (10 days ago)
- Last Synced: 2024-10-27T15:18:03.840Z (10 days ago)
- Topics: books, bun, docker, nuxt, price, thalia, tracker, vue
- Language: TypeScript
- Homepage: https://thalia.syma.dev/
- Size: 730 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Thalia book price tracker
Track the pricing of books over time.
## Tech
### Infrastructure
[Nuxt](https://nuxt.com/) is used as an integrated solution for the front and back end. The backend, based on Nitro
endpoints, requests data
from the Influx and Redis database and sends it to the frontend. If another book is to be tracked, a new schedule is
inserted via [BullMQ](https://bullmq.io/). Both the Nuxt application and the worker run using [Bun](https://bun.sh/).![Infrastructure](assets/infra.drawio.png)
The web, worker and proxy container can be scaled as pleased, because of the included "load balancing" of docker network
using DNS.### Fetching price data - Sequence diagram
![Sequence diagram](assets/sequence.drawio.png)
## Setup
Make sure to install dependencies:
```bash
# bun
cp .env.example .env
# now change the values
docker compose up -dbun install
cd queue
bun install
```## Development Server
Start the development server on `http://localhost:3000`:
```bash
# bun
bun run devcd queue
bun run worker
```## Production
Copy both the `docker-compose.yml` and `.env.example`, change the parameters to your liking and then start the stack:
```bash
cp .env.example .env
# now change the valuesdocker compose --profile prod pull
docker compose --profile prod up -d
```