An open API service indexing awesome lists of open source software.

https://github.com/usebruno/bruno-tutorials


https://github.com/usebruno/bruno-tutorials

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

          

# Bruno Doggy Daycare

A teaching backend for exploring [Bruno](https://github.com/usebruno/bruno) capabilities.
Use this with the [Hands-On tutorial for Bruno](TODO) to explore Bruno's capabilities.

## Overview

This application simulates a doggy daycare backend with features for:
- **Dogs**: Profile management.
- **Attendance**: Check-in/Check-out tracking and real-time status updates.
- **Social**: Managing friendships between dogs.
- **Feed**: Posting updates and streaming them via WebSockets.

## Running the Application

### Requirements
- Go 1.25+
- [grpcurl](https://github.com/fullstorydev/grpcurl) (for gRPC verification)

### Building and Running the server

To build the server:

```bash
./scripts/build.sh
# This will create the api_server binary
```

Then run the server:

```bash
./api_server

Starting server on :8080
Starting gRPC server on :50051
```

To verify that it's running, open a separate terminal and run:

```bash
curl http://localhost:8080/health

OK
```

### Verifying server functionality

To verify that the server is running correctly, run:

```bash
./scripts/verify.sh

# Runs the server in the background and performs several requests to verify that it is running correctly.
```

_Note: The script launches the server in the background. Make sure that nothing is listening on ports `8080` and `50051` before running the script._

## Configuration

Configuration is handled via environment variables:
- `PORT`: Port for REST API + WebSockets (default: `8080`)
- `GRPC_PORT`: Port for gRPC server (default: `50051`)
- `DB_PATH`: Path to SQLite database (default: `doggy_daycare.db`)