Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xataru/spycat
https://github.com/0xataru/spycat
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/0xataru/spycat
- Owner: 0xataru
- Created: 2024-06-28T20:38:20.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-01T08:37:04.000Z (7 months ago)
- Last Synced: 2025-01-02T21:32:35.971Z (15 days ago)
- Language: Go
- Size: 5.78 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SPYCAT
[![Go Report Card](https://goreportcard.com/badge/github.com/markraiter/spycat)](https://goreportcard.com/report/github.com/markraiter/spycat)
## Description
This is a simple yet comprehensive CRUD application for creating Spy Cats, Missions and Targets for them.
There is also authentication functionality, so only registered users can make operations with Cats/Missions/Targets/## Installation
To install and run this project, follow these steps:
1. Clone the repository: `git clone https://github.com/markraiter/spycat.git`
2. Install the dependencies with `go mod download`
3. Create `.env` file and copy values from `.env_example`
4. Follow the instructions to install [Taskfile](https://taskfile.dev/ru-ru/installation/) utility
5. Follow the instructions to install [Golang Migrate](https://github.com/golang-migrate/migrate) utility
6. Run migrations with `task migrateup`
7. Run the app with `task run`
8. You can check Swagger docs after run on `localhost:8000/swagger`**ATTENTION!!!** By default the app will run on port `localhost:8000`, or in any other you provide in your `.env` file.
_Also you can run the app in [Docker](https://docker.com) container with `task dockerup` and stop it with `task dockerdown`._
### Built With
- [Go](https://golang.org/) - The programming language used.
- [Fiber](https://gofiber.io/) - Framework used for transport layer implementations.
- [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) - Architectural style for the API.
- [Clean Architecture](https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html) - Architectural pattern used.
- [Postgres](https://www.postgresql.org/) - Database used.
- [Golang-Migrate](https://github.com/golang-migrate/migrate) - Database migrations tool.
- [JWT](https://jwt.io/) - Used for authentication.
- [Docker](https://docker.com) - Used for conterization.