https://github.com/harshitrajsinha/go-get-job
A backend project based on Golang and PostgreSQL that showcase CRUD operations using GraphQL. The application uses docker for containerization
https://github.com/harshitrajsinha/go-get-job
docker go graphql postgresql
Last synced: 5 months ago
JSON representation
A backend project based on Golang and PostgreSQL that showcase CRUD operations using GraphQL. The application uses docker for containerization
- Host: GitHub
- URL: https://github.com/harshitrajsinha/go-get-job
- Owner: harshitrajsinha
- Created: 2025-04-30T19:07:32.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-20T09:32:53.000Z (12 months ago)
- Last Synced: 2025-07-20T11:28:10.667Z (12 months ago)
- Topics: docker, go, graphql, postgresql
- Language: Go
- Homepage:
- Size: 435 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GO GET JOB
A backend project based on Golang and PostgreSQL that showcase CRUD operations using GraphQL. The application uses docker for containerization.
## π¨βπ Postman Collection Documentation
[Postman Documentation URL](https://documenter.getpostman.com/view/40689865/2sB34kEKCS)
## β¨Features
- **Dependency Injection** for modularity
- **Pagination** to reduce load
- **Error handling** for debugging
- **Persistant storage** using PostgreSQL
- **Caching** to improve performance
## π Tech Stack
- **Backend:** Golang, GraphQL
- **Database:** PostgreSQL
- **Cache:** Redis
- **Deployment:** Github (Code Repository)
- **Containerization:** Docker

## π Quick Start
### 1. Prerequisites
Make sure you have the `Docker Desktop` installed on your system:
### 2. Clone the Repository
```bash
git clone https://github.com/harshitrajsinha/go-get-job.git
cd go-get-job
```
### 3. Set up environment variable
Create .env file in root directory
```bash
POSTGRES_USER=postgres
POSTGRES_PASSWORD=yourstrongpassword
POSTGRES_DB=yourfavouritedbname
DB_USER=postgres
DB_NAME=yourfavouritedbname
DB_PASS=yourstrongpassword
DB_PORT=5432
DB_HOST=db
APP_PORT=8000
```
### 4. Run the application
Run the following command in your bash terminal
```bash
docker-compose up --build
```
### Caveat
In case you run into any problems while running docker-compose such as password authentication failure or role 'user' does not exists. Run the following commands
```bash
docker-compose down # remove existing container
docker volume rm go-get-job_db_data # remove stored data from _db_data
docker-compose up --build # rebuild the container with update
```

