Simple notes app written in Go, with assitance from several AI coding agents to evaulate their capabilities - Cursor and JetBrains Junie
# Notes API: Golang with NoSQL Databases
[](https://github.com/starichkov)

[](https://github.com/starichkov/golang-simple-notes/blob/main/LICENSE.md)
[](https://github.com/starichkov/golang-simple-notes/actions/workflows/build.yml)
[](https://codecov.io/gh/starichkov/golang-simple-notes)
A simple microservice for notes management with REST and gRPC APIs, supporting multiple storage backends.
*This project is generated using JetBrains Junie and several other AI coding agents to evaluate agent capabilities.*
## š Features
- **Dual API Support**: Full CRUD operations via both REST and gRPC.
- **Multiple Storage Backends**:
- **In-memory**: Ideal for local development and testing.
- **CouchDB**: Support for document-oriented storage with CouchDB.
- **MongoDB**: Support for document-oriented storage with MongoDB.
- **Clean Architecture**: Decoupled domain logic, storage interfaces, and transport layers.
- **Dockerized**: Easy deployment with Docker and Docker Compose.
- **Comprehensive Testing**: Unit tests and integration tests using `testcontainers-go`.
## š Prerequisites
- **Go**: 1.25.6 or later (as specified in `go.mod`).
- **Docker & Docker Compose**: Required for running databases and integration tests.
## š Project Structure
```text
.
āāā grpc/ # gRPC service implementation
āāā model/ # Domain entities (Note)
āāā proto/ # gRPC service definitions Agent that generates comprehensive documentation, API references, architecture diagrams, and developer onboarding guides from existing code.
Agent configuration for systematic bug investigation that traces issues from error logs through the codebase to root cause with suggested fixes.
Agent for integrating third-party APIs including SDK setup, type generation, error handling, retry logic, and rate limit management.
Cursor's built-in autonomous coding agent that can make multi-file edits, run terminal commands, search the codebase, and iteratively build features with minimal human intervention.
Cloud-based autonomous coding agent that runs in the background on remote sandboxed environments, handling complex multi-step tasks while you continue working.
Cursor's multi-file editing agent within Composer mode that can create, edit, and delete files across your entire project in a single conversation.