https://github.com/5aradise/sca-manager
RESTful API manager (DevelopsToday test assessment)
https://github.com/5aradise/sca-manager
api crud docker fiber go golang layered-architecture postgres postgresql postman rest-api
Last synced: 3 months ago
JSON representation
RESTful API manager (DevelopsToday test assessment)
- Host: GitHub
- URL: https://github.com/5aradise/sca-manager
- Owner: 5aradise
- Created: 2025-02-19T11:43:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-27T12:49:12.000Z (about 1 year ago)
- Last Synced: 2025-02-27T13:45:08.709Z (about 1 year ago)
- Topics: api, crud, docker, fiber, go, golang, layered-architecture, postgres, postgresql, postman, rest-api
- Language: Go
- Homepage: https://www.notion.so/develops/Golang-engineer-test-assessment-the-Spy-Cat-Agency-b6fbbbcca24d47b3b3aee6fa37ecd0dc
- Size: 515 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spy Cat Agency management application (DevelopsToday test assessment)
## Description
Layered CRUD RESTful API for managing spy cats, missions, and targets. Built with Go using Fiber, PostgreSQL database and logging middleware. Includes integration with TheCatAPI for breed validation, Postman documentation and Dockerized setup for quick deployment.
## Logic structure

## Features
- Layered architecture
- Fully dockerized project
- API postman documentation
- Interaction with a third-party api
## Technologies
- Go
- PostgreSQL
- Docker
- Postman
- Fiber
- Sonic
## Requirements
- Go 1.23+
- Docker
- GNU utils (make)
- Postman
## Local development
Make sure you're on Go version 1.23+.
Rename `.example.env` to `.env` and change environment variables you want.
### Run the project:
You can run both app and db in Docker:
```bash
docker-compose up -d
```
Or run db in Docker and app locally:
```bash
docker-compose up -d db
```
```bash
make run
```
## API testing with Postman
1. Open Postman.
2. Click "Import" and select `postman/sca-manager.postman_collection.json`.
3. Set environment variables if needed.
4. Run requests or use the collection in a Postman test runner.