On Creating New Backend Service
New service can be proposed through the organization discussion. Please provide a good and strong reason on why a new service has to be created (even if it's just for fun). The team will reject and hard delete the repository if a service was made without any discussion whatsoever.
Requirements
A few requirements has to be met to create a service:
- Use gRPC for presentation/transport layer. Submit your
.proto
file on the proto repository. - No third party dependency (database, message bus, blob storage, etc.) that uses Java (and JVM derivatives), please. Go search for an alternative. Example: Typesense instead of Elasticsearch, Redpanda instead of Kafka, and ScyllaDB instead of Cassandra.
- It's okay if your service have slow response time, or running a long process. But please, don't let it consume high CPU and RAM usage.
- Provide a Dockerfile for deployment purpose.
That being said, we are allowing you to:
- Use as much as bleeding edge tools, frameworks, and language
- Not writing unit test (we know it, you're lazy when it comes to open source stuff)
- Overkill design and architecture (because some of us have too little time)
Because we're allowing you that much, please remind yourself that you have a family at home, an anime to watch, a neighbourhood stray cat/dog to feed, and a life to live. Don't waste too much of your time.
If you would like to amend the required conditions for creating new backend services, please do not immediately create a pull request for this repository. Instead, please open an Organization Discussion first about the changes.