Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luizengdev/gopportunities
A very complete API job opportunities using Golang. The API uses Go-Gin as router, SQLite as a database, and GoORM for database comunication. Includes Swagger documantation.
https://github.com/luizengdev/gopportunities
api gin go golang goorm rest sqlite swagger
Last synced: 10 days ago
JSON representation
A very complete API job opportunities using Golang. The API uses Go-Gin as router, SQLite as a database, and GoORM for database comunication. Includes Swagger documantation.
- Host: GitHub
- URL: https://github.com/luizengdev/gopportunities
- Owner: luizengdev
- Created: 2024-05-30T20:43:53.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-12T11:49:10.000Z (8 months ago)
- Last Synced: 2024-11-15T22:30:14.239Z (2 months ago)
- Topics: api, gin, go, golang, goorm, rest, sqlite, swagger
- Language: Go
- Homepage:
- Size: 9.56 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GoJob Opportunities API
This project is a modern job opportunities API built using Golang, currently one of the highest paying programming languages. The API is powered by Go-Gin as a router, GoORM for database communication, SQLite as the database, and Swagger for API documentation and testing. The project follows a modern package structure to keep the codebase organized and maintainable.
---
## Features
- Introduction to Golang and building modern APIs
- Development environment setup for creating the API
- Using Go-Gin as a router for route management
- Implementing SQLite as the database for the API
- Using GoORM for communication with the database
- Integrating Swagger for API documentation and testing
- Creating a modern package structure for organizing the project
- Implementing a complete job opportunities API with endpoints for searching, creating, editing, and deleting opportunities
- Implementing automated tests to ensure API quality## Installation
To use this project, you need to follow these steps:
1. Clone the repository: `git clone https://github.com/username/repo-name.git`
2. Install the dependencies: `go mod download`
3. Build the application: `go build`
4. Run the application: `./main`## Makefile Commands
The project includes a Makefile to help you manage common tasks more easily. Here's a list of the available commands and a brief description of what they do:
- `make run`: Run the application without generating API documentation.
- `make run-with-docs`: Generate the API documentation using Swag, then run the application.
- `make build`: Build the application and create an executable file named `gopportunities`.
- `make test`: Run tests for all packages in the project.
- `make docs`: Generate the API documentation using Swag.
- `make clean`: Remove the `gopportunities` executable and delete the `./docs` directory.To use these commands, simply type `make` followed by the desired command in your terminal. For example:
```sh
make run
```
## Used ToolsThis project uses the following tools:
- [Golang](https://golang.org/) for backend development
- [Go-Gin](https://github.com/gin-gonic/gin) for route management
- [GoORM](https://gorm.io/) for database communication
- [SQLite](https://www.sqlite.org/index.html) as the database
- [Swagger](https://swagger.io/) for API documentation and testing## Credits
This project was developed following the tips from the live stream by [arthur404dev](https://www.youtube.com/watch?v=L6gk7FHBNkM).