https://github.com/tommsawyer/itbooks
📖 fully automated telegram channel with new books about IT
https://github.com/tommsawyer/itbooks
books golang postgresql telegram
Last synced: 4 months ago
JSON representation
📖 fully automated telegram channel with new books about IT
- Host: GitHub
- URL: https://github.com/tommsawyer/itbooks
- Owner: tommsawyer
- License: mit
- Created: 2023-03-07T11:34:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T06:52:49.000Z (about 2 years ago)
- Last Synced: 2025-12-19T02:17:55.776Z (6 months ago)
- Topics: books, golang, postgresql, telegram
- Language: Go
- Homepage: https://t.me/new_it_books
- Size: 236 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/tommsawyer/itbooks/actions/workflows/scrape.yaml)
[](https://github.com/tommsawyer/itbooks/actions/workflows/publish.yaml)
[](https://goreportcard.com/report/github.com/tommsawyer/itbooks)
[](https://codecov.io/github/tommsawyer/itbooks)
Fully automated telegram [channel](https://t.me/new_it_books) that publishes all new and upcoming books about IT.
### How it works
Every day we collect information from book publishers that publish books on IT topics. These books are stored in the database. Another script checks daily for new books and publish them into telegram channel.
### Local development
1. Install golang, docker and docker-compose
2. Obtain telegram bot token as described [here](https://core.telegram.org/bots/tutorial#obtain-your-bot-token)
3. Create telegram channel to test books publishing
4. Set up environment variables:
```
export TELEGRAM_TOKEN=token_from_step_2
export TELEGRAM_CHANNEL=@channel_name_from_step_3
```
5. Run `make postgres` to spin up testing database
6. Run `make migrate` to run migrations on testing database
7. Run `make scrape` to scrape publishers and save books into postgres
8. Run `make publish` to publish one of the scraped books
You should see one of the books published in your telegram channel at this moment. Explore `./build/itbooks --help` to see what other commands do we have.