Nexus Storage is a storage layer for unstructured and semi-structured data.
The project is organized as follows:
nexus-store/
├── app/
│ ├── migrate/ # Database migration tool
│ └── server/ # Main server application
├── db/
│ └── migration/ # SQL migration files
├── pkg/
│ ├── dbaccess/ # Database access layer including sqlc sql files
│ ├── internal/ # Internal packages
│ ├── migrate/ # Database Migrator
│ └── proto/ # Generated gRPC code
└── proto/
└── nexus_store/ # Protocol Buffer definitions
- Go 1.23.1 or later
- PostgreSQL 14.11 or later
-
Install dependencies:
go mod download
-
Set up the database:
- Create a PostgreSQL database
- Set the database connection details in your environment variables or
.env
file
-
Run database migrations:
go run app/migrate/main.go up
-
Build and run the server:
make
make test