Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vascocosta/gomdb
Simple web interface to the Open Movie Database API.
https://github.com/vascocosta/gomdb
api axum htmx maud omdb omdb-api omdb-search omdbapi rust rust-lang web
Last synced: 5 days ago
JSON representation
Simple web interface to the Open Movie Database API.
- Host: GitHub
- URL: https://github.com/vascocosta/gomdb
- Owner: vascocosta
- Created: 2024-10-25T12:10:14.000Z (12 days ago)
- Default Branch: main
- Last Pushed: 2024-10-29T22:44:04.000Z (8 days ago)
- Last Synced: 2024-10-29T23:44:24.970Z (7 days ago)
- Topics: api, axum, htmx, maud, omdb, omdb-api, omdb-search, omdbapi, rust, rust-lang, web
- Language: Rust
- Homepage:
- Size: 47.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GOMDb
Simple web interface to the Open Movie Database API.
This project was mostly intended as a simple showcase of how to implement a minimalistic rust web app that is essentially server side rendered in the backend, albeit still exhibiting client side reactivity, without explicit use of javascript. To achieve this goal, the following software stack was found to be extremely elegant to use:
* [htmx](https://htmx.org/)
* [axum](https://github.com/tokio-rs/axum)
* [maud](https://maud.lambda.xyz/)Check my own instance here:
[https://gomdb.gluonspace.com/](https://gomdb.gluonspace.com/)
## Screenshots
![Main](https://i.imgur.com/SJN6C92.png)
## Deploy
### Build
To build `gomdb` you need the `Rust toolchain` as well as these `dependencies`:
* anyhow = "1.0.91"
* axum = "0.7.7"
* maud = { version = "0.26.0", features = ["axum"] }
* rand = "0.8.5"
* reqwest = { version = "0.12.8", features = ["json"] }
* serde = { version = "1.0.210", features = ["derive"] }
* serde_json = "1.0.132"
* tokio = { version = "1.40.0", features = ["full"] }
* tower-http = { version = "0.6.1", features = ["full"] }Follow these steps to fetch and compile the source of `gomdb` and its `dependencies`:
```
git clone https://github.com/vascocosta/gomdb.git
cd gomdb
cargo build --release
```### Run
Finally you can run the app with:
```
OMDB_KEY="YOUR_OMDB_API_KEY" ./target/release/gomdb &
```