Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mpetuska/monko
Kotlin MPP bindings for mongodb driver.
https://github.com/mpetuska/monko
kotlin kotlin-library kotlin-multiplatform mongo mongodb on-hold
Last synced: 14 days ago
JSON representation
Kotlin MPP bindings for mongodb driver.
- Host: GitHub
- URL: https://github.com/mpetuska/monko
- Owner: mpetuska
- License: apache-2.0
- Created: 2021-07-01T13:32:45.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T21:11:17.000Z (2 months ago)
- Last Synced: 2024-10-24T03:36:20.741Z (23 days ago)
- Topics: kotlin, kotlin-library, kotlin-multiplatform, mongo, mongodb, on-hold
- Language: Kotlin
- Homepage: https://mpetuska.github.io/monko
- Size: 585 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[![Slack chat](https://img.shields.io/badge/chat-kotlinlang-purple?logo=slack&style=flat-square)](https://kotlinlang.slack.com/team/UL1A5BA2X)
[![Dokka docs](https://img.shields.io/badge/docs-dokka-orange?style=flat-square)](http://mpetuska.github.io/monko)
[![Version maven-central](https://img.shields.io/maven-central/v/dev.petuska/monko?logo=apache-maven&style=flat-square)](https://mvnrepository.com/artifact/dev.petuska/monko/latest)# MONKO [EXPERIMENTAL]
Kotlin multiplatform bindings for mongodb driver.
Has a baseline setup for a multiplatform library supporting all kotlin
server-side [targets](https://kotlinlang.org/docs/mpp-supported-platforms.html).* JVM
* JS (NodeJs)
* LinuxX64
* MingwX64
* MacOSX64The library tries to integrate with native libraries for each platform to the best of its ability, while also exposing
the native objects directly via `source` property on Monko objects.* JVM -> [[email protected]](https://github.com/mongodb/mongo-java-driver/tree/r4.3.0)
* JS (NodeJs) -> [[email protected]](https://github.com/mongodb/node-mongodb-native/tree/v4.0.0)
* LinuxX64, MingwX64, MacOSX64 -> [[email protected]](https://github.com/mongodb/mongo-c-driver/tree/1.18.0)# Local Setup
## Prerequisites
* Debian/Ubuntu: `./scripts/setupUbuntu.sh`
* OSX (requires [Homebrew](https://brew.sh/)): `./scripts/setupOSX.sh`
* Windows (requires [MSYS2](https://www.msys2.org/)): `./scripts/setupMingw.sh`## Running tests
* Start mongodb: `docker run --rm -p 27017:27017 mongo`
* Alternatively you can use `docker-compose` which also gives you access to `mongo-express` web interface to interact
with the database directly at `http://localhost:8081`. To run it use `docker-compose up` command.
* Run via gradle: `./gradlew allTests` or alias `./gradlew test`## Docker (On KVM)
First you need to build builder images for each platform (only needs to be done once).
* Debian/Ubuntu: `docker build -t monko-build:ubuntu --build-arg "user=$USER" -f docker/ubuntu.dockerfile .`
* OSX: `docker build -t monko-build:osx --build-arg "user=$USER" -f docker/osx.dockerfile .`Then you can run gradle commands of the project on a chosen image as:
* Debian/Ubuntu: `docker run --network host --rm -v "$PWD:/repository" monko-build:ubuntu `
* OSX: `docker run --network host --rm -v "$PWD:/repository" monko-build:osx `