{"id":15161820,"url":"https://github.com/sergeyt/pandora","last_synced_at":"2025-07-04T21:02:56.318Z","repository":{"id":33417126,"uuid":"150127275","full_name":"sergeyt/pandora","owner":"sergeyt","description":"Small box of pandora to prototype your app with ready for use backend. This is just my compilation of different solutions occasionally applied in hackathons and challenges","archived":false,"fork":false,"pushed_at":"2024-12-08T21:22:17.000Z","size":1908,"stargazers_count":26,"open_issues_count":49,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T04:31:36.344Z","etag":null,"topics":["baas","caddy","celery","dgraph","docker-compose","elasticsearch","golang","kibana","minio","nats","python","quick-start","rabbitmq","redis","template-project","tika"],"latest_commit_sha":null,"homepage":"https://tsvbits.com/pandora/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergeyt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-24T15:44:49.000Z","updated_at":"2023-08-21T20:35:00.000Z","dependencies_parsed_at":"2024-02-12T22:44:11.860Z","dependency_job_id":"13d00f16-0fa3-406d-90a0-6b1b662079ea","html_url":"https://github.com/sergeyt/pandora","commit_stats":{"total_commits":975,"total_committers":10,"mean_commits":97.5,"dds":"0.17333333333333334","last_synced_commit":"ce25bc57dcff3d5fb1fd6b3bf2a9b7aebcd6732f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeyt%2Fpandora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeyt%2Fpandora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeyt%2Fpandora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeyt%2Fpandora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergeyt","download_url":"https://codeload.github.com/sergeyt/pandora/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238043595,"owners_count":19407059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baas","caddy","celery","dgraph","docker-compose","elasticsearch","golang","kibana","minio","nats","python","quick-start","rabbitmq","redis","template-project","tika"],"created_at":"2024-09-27T01:00:28.778Z","updated_at":"2025-02-10T01:31:12.068Z","avatar_url":"https://github.com/sergeyt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PANDORA\n\nThis small box of pandora (aka small app basis) composed from the following technologies:\n\n* [Dgraph](https://dgraph.io/) as data store with GraphQL support, write operations using REST\n* [Minio](https://www.minio.io/) as Amazon S3 compatible storage\n* [Stow](https://github.com/graymeta/stow) allows using cloud storage provides like Amazon, Google, Azure\n* [ElasticSearch](https://www.elastic.co/products/elasticsearch) as search engine. Dgraph data can be automatically replicated in ElasticSeach index\n* [Kibana](https://www.elastic.co/products/kibana) to explore ElasticSearch data\n* [NATS](https://nats.io/) as messaging system with streaming of push notifications (events) via [SSE](https://en.wikipedia.org/wiki/Server-sent_events) channel\n* [Celery](http://www.celeryproject.org/) - distributed task queue\n* [RabbitMQ](https://www.rabbitmq.com/) - fast message broker for celery tasks\n* [Redis](https://redis.io/) - result backend for celery tasks and cache service\n* [Apache Tika](https://tika.apache.org/) - powerful content analysis toolkit\n* try [FluentD](https://www.fluentd.org/) - for centralized logging, not implemented yet :)\n\nProgramming languages currently used in the project:\n* [Go](https://golang.org/)\n* [Python](https://www.python.org/)\n* [Kotlin](https://kotlinlang.org/)\n\n## Basic Idea\n\nI'd like to have simple, flexible, dynamic, declarative, reactive, realtime information system :)\n\n## How to run\n\n`docker-compose up` runs the following services:\n\n1. `zero` - Dgraph cluster manager\n1. `dgraph` - Dgraph data manager hosts predicates \u0026 indexes\n1. `ratel` - serves the UI to run queries, mutations \u0026 altering schema\n1. `nats` - plays as message bus\n1. `pubsub` - event streaming service based on [SSE](https://en.wikipedia.org/wiki/Server-sent_events) protocol\n1. `minio` - Amazon S3 compatible file store\n1. `imageproxy` - [service](https://willnorris.com/go/imageproxy) with image manipulation ops like resizing\n1. `elasticsearch` - search and analitycs engine\n1. `kibana` - Elasticsearch dashboard\n1. `app` - application API service\n1. `caddy` - web server as service gateway\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergeyt%2Fpandora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergeyt%2Fpandora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergeyt%2Fpandora/lists"}