mercari / Datastore
Licence: other
(AE|Cloud) Datastore Wrapper
Stars: ✭ 198
Projects that are alternatives of or similar to Datastore
Nds
A Go (golang) Google App Engine datastore package with strongly consistent caching.
Stars: ✭ 154 (-22.22%)
Mutual labels: appengine, datastore
server
The ViUR application development framework - legacy version 2.x for Python 2.7
Stars: ✭ 12 (-93.94%)
Mutual labels: appengine, datastore
Gradle Gae Plugin
Gradle plugin that provides tasks for uploading, running and managing Google App Engine projects
Stars: ✭ 62 (-68.69%)
Mutual labels: appengine
Redis Dataloader
Batching and Caching layer using Redis as the Caching layer
Stars: ✭ 72 (-63.64%)
Mutual labels: datastore
Marvin
A go-kit HTTP server for the App Engine Standard Environment
Stars: ✭ 164 (-17.17%)
Mutual labels: appengine
Goshare
Go Share your TimeSeries/NameSpace/KeyVal DataStore (using leveldb) over HTTP &/or ZeroMQ
Stars: ✭ 59 (-70.2%)
Mutual labels: datastore
Fluentular
Fluentular is a Fluentd regular expression editor
Stars: ✭ 154 (-22.22%)
Mutual labels: appengine
Datastore
🐹 Bloat free and flexible interface for data store and database access.
Stars: ✭ 99 (-50%)
Mutual labels: datastore
Drone Gae
Drone plugin for managing deployments and services on Google App Engine (GAE)
Stars: ✭ 96 (-51.52%)
Mutual labels: appengine
Movietray
Its a playground application focusing on Paging3, MVVM architecture, Kotlin Extension functions, Retrofit, DSL, Navigation component, MotionLayout, SharedElementTransition, Single Activity Architecture, DataStore etc.
Stars: ✭ 78 (-60.61%)
Mutual labels: datastore
Js Data
Give your data the treatment it deserves with a framework-agnostic, datastore-agnostic JavaScript ORM built for ease of use and peace of mind. Works in Node.js and in the Browser. Main Site: http://js-data.io, API Reference Docs: http://api.js-data.io/js-data
Stars: ✭ 1,599 (+707.58%)
Mutual labels: datastore
Elixir Runtime
The community-supported runtime for Elixir on Google App Engine.
Stars: ✭ 158 (-20.2%)
Mutual labels: appengine
Composepictures
This is a project built using Jetpack Compose on UI, Clean architecture, Dagger Hilt, Kotlin Flow, Navigation Components etc.
Stars: ✭ 62 (-68.69%)
Mutual labels: datastore
Kafka Connect
equivalent to kafka-connect 🔧 for nodejs ✨🐢🚀✨
Stars: ✭ 102 (-48.48%)
Mutual labels: datastore
Bots Framework
Golang framework to build multilingual bots for messengers (Telegram, FB Messenger, Skype, Line, Kik, WeChat) hosted on AppEngine, Amazon, Azure, Heroku or standalone
Stars: ✭ 189 (-4.55%)
Mutual labels: appengine
(AppEngine | Cloud) Datastore wrapper for Go 👉
Simple. Happy. Respect standard library.
$ go get -u go.mercari.io/datastore
Feature
DO
- Wrap
google.golang.org/appengine/datastore
andcloud.google.com/go/datastore
- keep key behavior
- align to
cloud.google.com/go/datastore
first
- Re-implement datastore package
- Re-implement datastore.SaveStruct & LoadStruct
- Ignore unmapped property
- Add PropertyTranslator interface
- Convert types like mytime.Unix to time.Time and reverse it
- Rename property like CreatedAt to createdAt or created_at and reverse it
- Re-implement PropertyLoadSaver
- Pass context.Context to Save & Load method
- Add retry feature to each RPC
- e.g. Retry AllocateID when it failed
- Add middleware layer
- About...
- Local Cache
- AE Memcache
- Logging
- Retry
- etc...
- Easy to ON/OFF switching
- About...
- Add some useful methods
aedatastore/TransactionContext
DON'T
- have utility functions
- support firestore
Restriction
-
aedatastore
package- When using slice of struct, MUST specified
datastore:",flatten"
option.- original (ae & cloud) datastore.SaveStruct have different behaviors.
- see aeprodtest/main.go
/api/test3
- When using slice of struct, MUST specified
Committers
- Masahiro Wakame (@vvakame)
Contribution
Please read the CLA below carefully before submitting your contribution.
Setup environment & Run tests
- requirements
-
gcloud sdk
gcloud components install app-engine-go
gcloud components install beta cloud-datastore-emulator
-
gcloud sdk
- Testing in local
$ ./setup.sh # exec once
$ ./serve.sh # exec in background
$ ./test.sh
- Testing with Circle CI CLI
$ circleci build
License
Copyright 2017 Mercari, Inc.
Licensed under the MIT License.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].