From 430892a512333af97360ba4bbd2da45afb33b007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20P=C3=A9rez?= Date: Mon, 25 Nov 2024 16:18:10 +0100 Subject: [PATCH] update readme, dockerfile and makefile --- README.md | 39 ++++++++++++++++++++------------------- core/Dockerfile | 13 ++++--------- core/Makefile | 4 ++-- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 8522a3c..a313147 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,53 @@ # Rating Orama -Rating Orama is a web application for displaying TV show ratings and statistics. It is composed of 3 main parts: +Rating Orama is a web application for displaying TV show ratings and statistics. +It is composed of 2 main parts: -1. **Core**: Written in Go and Fiber, responsible for orchestrating everything and displaying the data using a template engine. -2. **Harvester**: Written in Python, Flask, and Cinemagoer, responsible for collecting data for the core. +1. **Core**: Written in Go and Fiber, responsible for orchestrating everything +and displaying the data using a template engine. 3. **Database**: PostgreSQL for storing data. ## Running the project -There are two ways to run the project: launching each part individually or building the Dockerfile and running it using Docker Compose. Here's an example of the `docker-compose.yml` file for the latter option: +There are two ways to run the project: launching each part individually or +building the Dockerfile and running it using Docker Compose. Here's an example +of the `docker-compose.yml` file for the latter option: ```yaml version: '3' services: - harvester: - container_name: harvester-ratingorama - image: harvester:0.1.0 - networks: - - ratingorama core: container_name: core-ratingorama - image: core:0.1.0 + image: core:latest environment: - DATASOURCE: ${DATASOURCE} - HARVESTER_API: ${HARVESTER_API} - IS_PRODUCTION: ${IS_PRODUCTION} + DATASOURCE: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable ports: - - "3000:3000" + - "8080:8080" networks: - ratingorama db: container_name: db-ratingorama - image: postgres:15.2-alpine + image: postgres:16.3-alpine3.20 environment: + POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} ports: - - "5433:5432" + - "5432:5432" volumes: - - ./schema.sql:/docker-entrypoint-initdb.d/schema.sql - - ./data:/var/lib/postgresql/data + - rating-orama_data:/var/lib/postgresql/data networks: - ratingorama networks: ratingorama: + +volumes: + rating-orama_data: ``` ## Contributions -If you have ideas for improvements or bug fixes, feel free to contribute! To do so, simply clone the repository, create a new branch, and submit a pull request. +If you have ideas for improvements or bug fixes, feel free to contribute! To do +so, simply clone the repository, create a new branch, and submit a pull request. diff --git a/core/Dockerfile b/core/Dockerfile index 5dcfbae..aef3dbe 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,13 +1,8 @@ -FROM golang:1.20.3-alpine +FROM alpine:3.20 WORKDIR /app -COPY go.mod go.sum ./ +COPY ./database ./database +COPY ./tmp/rating . -RUN go mod download - -COPY . . - -RUN go build -o main - -CMD ["/app/main"] \ No newline at end of file +CMD ["/app/rating"] \ No newline at end of file diff --git a/core/Makefile b/core/Makefile index 2cb4ade..59a4c14 100644 --- a/core/Makefile +++ b/core/Makefile @@ -38,7 +38,7 @@ test: .PHONY: gomock # Generate mock files. gomock: - mockgen -package mock -destination internal/repository/mock/querier.go arena-coins/internal/repository ExtendedQuerier + mockgen -package mock -destination internal/repository/mock/querier.go rating-orama/internal/repository ExtendedQuerier .PHONY: run # Run project. @@ -70,7 +70,7 @@ build-linux: pack-docker: make test make build-linux - docker build -t arena-coins:${version} -t arena-coins:latest . + docker build -t rating-orama:${version} -t rating-orama:latest . .PHONY: remove-debug # Remove all debug entries for reduce size binary.