Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #163

Merged
merged 2 commits into from
Sep 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
postgres:
image: postgres:15-alpine
env:
POSTGRES_DB: go_gin_job_search_db
POSTGRES_DB: job_finder_db
POSTGRES_USER: devuser
POSTGRES_PASSWORD: admin
ports:
Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ generate_migrations:

# run up migrations, user details based on docker-compose.yml
migrate_up:
migrate -path internal/db/migrations -database "postgresql://devuser:admin@localhost:5432/go_gin_job_search_db?sslmode=disable" -verbose up
migrate -path internal/db/migrations -database "postgresql://devuser:admin@localhost:5432/job_finder_db?sslmode=disable" -verbose up

# run down migrations, user details based on docker-compose.yml
migrate_down:
migrate -path internal/db/migrations -database "postgresql://devuser:admin@localhost:5432/go_gin_job_search_db?sslmode=disable" -verbose down
migrate -path internal/db/migrations -database "postgresql://devuser:admin@localhost:5432/job_finder_db?sslmode=disable" -verbose down

# generate db related go code with sqlc
# for windows: cmd.exe /c "docker run --rm -v ${PWD}:/src -w /src kjconroy/sqlc generate"
Expand All @@ -17,15 +17,15 @@ sqlc:

# generate mock db for testing
mock:
mockgen -package mockdb -destination internal/db/mock/store.go github.com/aalug/go-gin-job-search/internal/db/sqlc Store
mockgen -package mockdb -destination internal/db/mock/store.go github.com/aalug/job-finder-go/internal/db/sqlc Store

# generate mock TaskDistributor
mock_td:
mockgen -package mockworker -destination internal/worker/mock/distributor.go github.com/aalug/go-gin-job-search/internal/worker TaskDistributor
mockgen -package mockworker -destination internal/worker/mock/distributor.go github.com/aalug/job-finder-go/internal/worker TaskDistributor

# generate mock functions for elasticsearch based functions
mock_es:
mockgen -package mockesearch -destination internal/esearch/mock/search.go github.com/aalug/go-gin-job-search/internal/esearch ESearchClient
mockgen -package mockesearch -destination internal/esearch/mock/search.go github.com/aalug/job-finder-go/internal/esearch ESearchClient

# run all tests
test:
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Go job search
# Go job finder
<hr>

A **REST API** that allows registering as users and employers, where both
Expand Down Expand Up @@ -33,15 +33,14 @@ Redis is used to perform tasks in the background such as sending verification or
3. Rename `app.env.example` to `app.env` and replace the values
4. Install [golang-migrate](https://github.com/golang-migrate/migrate/tree/master/cmd/migrate)
5. Run in your terminal:
- `docker-compose up` - to run the containers
- `make migrate_up` - to run migrations
- `make runserver load_data=true` - to run HTTP server with loaded (into the postgres and elasticsearch)
sample jobs, employers and companies (set `load_data` to `false` if you do not want test data to load)
- `docker-compose up` to run the containers
- `make migrate_up` to run migrations
- `make runserver load_data=true` to run the HTTP server with sample jobs, employers, and companies loaded into both PostgreSQL and Elasticsearch. Set `load_data` to `false` if you do not want test data to be loaded.
6. Now everything should be ready and server running on `SERVER_ADDRESS` specified in `app.env`
<hr>

## Testing
1. Run the postgres container (`docker-compose up`)
1. Run the containers (`docker-compose up`)
2. Run in your terminal:
- `make test` to run all tests

Expand Down
2 changes: 1 addition & 1 deletion app.env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
DB_DRIVER=postgres
DB_SOURCE=based on docker-compose.yml -> postgresql://devuser:admin@localhost:5432/go_gin_job_search_db?sslmode=disable
DB_SOURCE=based on docker-compose.yml -> postgresql://devuser:admin@localhost:5432/job_finder_db?sslmode=disable
SERVER_ADDRESS=for example localhost:8080
BASE_URL=/api/v1
ELASTICSEARCH_ADDRESS=for example http://localhost:9200
Expand Down
12 changes: 6 additions & 6 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import (
"context"
"database/sql"
"flag"
"github.com/aalug/go-gin-job-search/internal/api"
"github.com/aalug/go-gin-job-search/internal/config"
"github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/esearch"
"github.com/aalug/go-gin-job-search/internal/mail"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/job-finder-go/internal/api"
"github.com/aalug/job-finder-go/internal/config"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/esearch"
"github.com/aalug/job-finder-go/internal/mail"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/hibiken/asynq"
zerolog "github.com/rs/zerolog/log"
)
Expand Down
18 changes: 9 additions & 9 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ services:
image: postgres:15-alpine
volumes:
- dev-db-data:/var/lib/postgresql/data
container_name: go_gin_job_search_db
container_name: job_finder_db
environment:
- POSTGRES_DB=go_gin_job_search_db
- POSTGRES_DB=job_finder_db
- POSTGRES_USER=devuser
- POSTGRES_PASSWORD=admin
ports:
- "5432:5432"

elasticsearch:
container_name: go_gin_job_search_es
container_name: job_finder_es
image: elasticsearch:7.17.9
environment:
- bootstrap.memory_lock=true
Expand All @@ -29,7 +29,7 @@ services:
ports:
- "9200:9200"
networks:
- es-job-search
- es-job-finder
healthcheck:
interval: 10s
retries: 20
Expand All @@ -39,7 +39,7 @@ services:

kibana:
image: kibana:7.17.10
container_name: go_gin_job_search_kibana
container_name: job_finder_kibana
depends_on:
elasticsearch:
condition: service_healthy
Expand All @@ -49,29 +49,29 @@ services:
ports:
- "5601:5601"
networks:
- es-job-search
- es-job-finder
healthcheck:
interval: 10s
retries: 20
test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:5601/api/status

redis:
image: redis:7.0
container_name: go_gin_job_search_redis
container_name: job_finder_redis
ports:
- "6379:6379"

mailhog:
image: mailhog/mailhog
container_name: go_gin_job_search_mailhog
container_name: job_finder_mailhog
logging:
driver: 'none'
ports:
- "1025:1025" # smtp server
- "8025:8025" # web ui

networks:
es-job-search:
es-job-finder:
driver: bridge

volumes:
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module github.com/aalug/go-gin-job-search
module github.com/aalug/job-finder-go

go 1.20

Expand Down
10 changes: 5 additions & 5 deletions internal/api/employer.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import (
"encoding/json"
"errors"
"fmt"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/go-gin-job-search/pkg/validation"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/aalug/job-finder-go/pkg/validation"
"github.com/gin-gonic/gin"
"github.com/hibiken/asynq"
"github.com/lib/pq"
Expand Down
12 changes: 6 additions & 6 deletions internal/api/employer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/aalug/go-gin-job-search/internal/db/mock"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/worker"
mockworker "github.com/aalug/go-gin-job-search/internal/worker/mock"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/internal/db/mock"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/worker"
mockworker "github.com/aalug/job-finder-go/internal/worker/mock"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/gin-gonic/gin"
"github.com/golang/mock/gomock"
"github.com/lib/pq"
Expand Down
6 changes: 3 additions & 3 deletions internal/api/job.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"encoding/json"
"errors"
"fmt"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/esearch"
"github.com/aalug/go-gin-job-search/pkg/token"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/esearch"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/gin-gonic/gin"
"net/http"
)
Expand Down
6 changes: 3 additions & 3 deletions internal/api/job_application.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package api
import (
"database/sql"
"fmt"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/go-gin-job-search/pkg/token"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/gin-gonic/gin"
"github.com/hibiken/asynq"
"github.com/lib/pq"
Expand Down
10 changes: 5 additions & 5 deletions internal/api/job_application_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import (
"database/sql"
"encoding/json"
"fmt"
"github.com/aalug/go-gin-job-search/internal/db/mock"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
mockworker "github.com/aalug/go-gin-job-search/internal/worker/mock"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/internal/db/mock"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
mockworker "github.com/aalug/job-finder-go/internal/worker/mock"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/gin-gonic/gin"
"github.com/golang/mock/gomock"
"github.com/lib/pq"
Expand Down
12 changes: 6 additions & 6 deletions internal/api/job_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/aalug/go-gin-job-search/internal/db/mock"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/esearch"
mockesearch "github.com/aalug/go-gin-job-search/internal/esearch/mock"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/internal/db/mock"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/esearch"
mockesearch "github.com/aalug/job-finder-go/internal/esearch/mock"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/gin-gonic/gin"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/require"
Expand Down
10 changes: 5 additions & 5 deletions internal/api/main_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package api

import (
"github.com/aalug/go-gin-job-search/internal/config"
"github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/esearch"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/internal/config"
"github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/esearch"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/require"
"os"
Expand Down
2 changes: 1 addition & 1 deletion internal/api/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package api
import (
"errors"
"fmt"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/gin-gonic/gin"
"net/http"
"strings"
Expand Down
2 changes: 1 addition & 1 deletion internal/api/middleware_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package api

import (
"fmt"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/require"
"net/http"
Expand Down
12 changes: 6 additions & 6 deletions internal/api/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package api

import (
"fmt"
"github.com/aalug/go-gin-job-search/docs"
"github.com/aalug/go-gin-job-search/internal/config"
"github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/esearch"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/job-finder-go/docs"
"github.com/aalug/job-finder-go/internal/config"
"github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/esearch"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
swaggerfiles "github.com/swaggo/files"
Expand Down
10 changes: 5 additions & 5 deletions internal/api/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import (
"encoding/json"
"errors"
"fmt"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/worker"
"github.com/aalug/go-gin-job-search/pkg/token"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/go-gin-job-search/pkg/validation"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/worker"
"github.com/aalug/job-finder-go/pkg/token"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/aalug/job-finder-go/pkg/validation"
"github.com/gin-gonic/gin"
"github.com/hibiken/asynq"
"github.com/lib/pq"
Expand Down
12 changes: 6 additions & 6 deletions internal/api/user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/aalug/go-gin-job-search/internal/db/mock"
db "github.com/aalug/go-gin-job-search/internal/db/sqlc"
"github.com/aalug/go-gin-job-search/internal/worker"
mockworker "github.com/aalug/go-gin-job-search/internal/worker/mock"
"github.com/aalug/go-gin-job-search/pkg/token"
utils "github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/internal/db/mock"
db "github.com/aalug/job-finder-go/internal/db/sqlc"
"github.com/aalug/job-finder-go/internal/worker"
mockworker "github.com/aalug/job-finder-go/internal/worker/mock"
"github.com/aalug/job-finder-go/pkg/token"
utils "github.com/aalug/job-finder-go/pkg/utils"
"github.com/gin-gonic/gin"
"github.com/golang/mock/gomock"
"github.com/lib/pq"
Expand Down
2 changes: 1 addition & 1 deletion internal/db/mock/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/db/sqlc/company_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package db
import (
"context"
"database/sql"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/lib/pq"
"github.com/stretchr/testify/require"
"testing"
Expand Down
2 changes: 1 addition & 1 deletion internal/db/sqlc/employer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package db
import (
"context"
"database/sql"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/stretchr/testify/require"
"testing"
"time"
Expand Down
2 changes: 1 addition & 1 deletion internal/db/sqlc/job_applications_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
"crypto/rand"
"database/sql"
"github.com/aalug/go-gin-job-search/pkg/utils"
"github.com/aalug/job-finder-go/pkg/utils"
"github.com/stretchr/testify/require"
"testing"
"time"
Expand Down
Loading
Loading