https://github.com/samdouble/biblio
A cross-platform mobile app to keep track of your books
https://github.com/samdouble/biblio
Last synced: 2 months ago
JSON representation
A cross-platform mobile app to keep track of your books
- Host: GitHub
- URL: https://github.com/samdouble/biblio
- Owner: samdouble
- Created: 2025-01-01T00:39:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-04-24T02:43:48.000Z (2 months ago)
- Last Synced: 2026-04-24T03:31:51.509Z (2 months ago)
- Language: Dart
- Homepage:
- Size: 788 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**App**
[](https://github.com/samdouble/biblio/actions/workflows/app-checks.yml)
[](https://coveralls.io/github/samdouble/biblio?branch=master)
[](https://dart.dev/)
[](https://flutter.dev/)
[](https://developer.android.com/)
[](https://developer.apple.com/ios/)
**Backend**
[](https://github.com/samdouble/biblio/actions/workflows/backend-checks.yml)
[](https://coveralls.io/github/samdouble/biblio?branch=master)
[](https://go.dev/)
[](https://cloud.google.com/)
[](https://aws.amazon.com/lambda/)
[](https://www.mongodb.com/)
# biblio
A cross-platform mobile app to keep track of your books.
## Development
### App
#### Set up environment variables
Create an `.env` file at the root of the project:
```
BIBLIO_API_URL=
NEW_RELIC_ANDROID_APP_TOKEN=
NEW_RELIC_IOS_APP_TOKEN=
```
#### Install Flutter SDK and its dependencies
Follow the [official documentation](https://docs.flutter.dev/get-started/quick).
On macOS, that means installing:
- Flutter SDK
- XCode
- CocoaPods
For managing multiple Flutter SDK versions, you can use FVM.
```bash
brew tap leoafarias/fvm
brew install fvm
```
Run `fvm flutter doctor` to verify that everything is installed correctly.
Make sure you have the correct version of Flutter installed by running these commands from the root of the project:
```bash
fvm install 3.41.2
fvm use 3.41.2
fvm flutter --version
```
#### Run the app
If you are using a hardware device, make sure Developer Mode is enabled on your device and that you have USB debugging enabled.
In VSCode/Cursor, search for `Flutter: Select Device` and select your device. Then, in the `Run & Debug` pane, select `biblio` and click the green play button.
Shortly after, you should see the app running on your device.
### Backend
#### Set up environment variables
Create a `.env` file with the following variables:
```
GOOGLE_BOOKS_API_TOKEN=
ISBNDB_API_KEY=
MONGO_DBNAME=
MONGO_URL=
```
#### Instantiate the MongoDB replica set
```sh
docker compose up -d
```
Build the Docker image:
```sh
docker build -t biblio-api .
```
Run the Docker container with the book's ISBN as a command line argument:
```sh
docker run --env-file .env --network biblio-api_default -e "MONGO_URL=mongodb://biblio-api-mongo0:27017,biblio-api-mongo1:27017,biblio-api-mongo2:27017/?replicaSet=rs0" biblio-api
```
### CI
Install [act](https://nektosact.com/installation/index.html):
```sh
brew install act
```
**Release Please**
```sh
act push --container-architecture linux/amd64 \
-P ubuntu-latest=node:20-bookworm-slim \
-W .github/workflows/release-please.yml \
-s PAT=XXXXX
```