Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marianozunino/jobby
jobby
https://github.com/marianozunino/jobby
ent go gqlgen graphql
Last synced: about 6 hours ago
JSON representation
jobby
- Host: GitHub
- URL: https://github.com/marianozunino/jobby
- Owner: marianozunino
- Created: 2023-07-21T22:55:56.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-08-07T17:31:02.000Z (over 1 year ago)
- Last Synced: 2024-11-16T12:51:33.776Z (2 months ago)
- Topics: ent, go, gqlgen, graphql
- Language: Go
- Homepage:
- Size: 717 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Backend - Learning Project
## Description
This repository contains a learning project for a Go backend.
The project relies heavily on the following libraries:
- [GQLGen](https://gqlgen.com/) - GraphQL server
Schema first approach, let the library generate the code (models, resolvers, etc.)- [Ent](https://entgo.io/) - Database ORM
I played with [SQLBoiler](https://github.com/volatiletech/sqlboiler), [SQLX](https://github.com/jmoiron/sqlx) and given
the simplicity of the project, I decided to go with an ORM that generates the code for me.
If there is a need for more complex queries, I will probably switch to SQLX or mix the two.## Installation
### Prerequisites
- [Go](https://golang.org/doc/install)
- [PostgreSQL](https://www.postgresql.org/download/)
- [Task](https://taskfile.dev/#/installation)
- [Pre-commit](https://pre-commit.com/#install)
- [Atlas](https://atlasgo.io/)### Setup
1. Clone the repository
2. Create a copy of the `.env.example` file and name it `.env`
3. Fill in the environment variables in the `.env` file
4. Run `task setup` to install the dependencies and setup the database
5. Run `task dev` to start the server### Development
- `task dev` - Start the server
- `task gen` - Code generation
- Generates GraphQL code
- Generates ent code
- Generates dataloaders code## Testing
> Hey, you should write tests!
Indeed, I should. I will. I promise. Someday.