diff --git a/backend/Dockerfile b/backend/Dockerfile index ce6356c..bfa4239 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -10,4 +10,5 @@ COPY . . EXPOSE 3000 -CMD ["npm", "run", "production"] +# CMD ["npm", "run", "dev"] +CMD npm run $NODE_ENV diff --git a/backend/backendServer.js b/backend/backendServer.js index 488efa1..d6ebc7e 100644 --- a/backend/backendServer.js +++ b/backend/backendServer.js @@ -4,12 +4,7 @@ const port = 3000; const cors = require("cors"); const app = express(); -app.use( - cors({ - origin: "https://ec683cee72d30c5030.fredzernia.com/", - credentials: true, - }), -); +app.use(cors()); app.use(express.json()); // ####### ROUTES ####### diff --git a/backend/db.js b/backend/db.js index c13df57..0710f1a 100644 --- a/backend/db.js +++ b/backend/db.js @@ -1,7 +1,7 @@ const knex = require('knex'); const knexConfig = require('./knexfile.js'); -const environment = process.env.NODE_ENV || 'development'; +const environment = process.env.NODE_ENV || 'dev'; const config = knexConfig[environment]; const db = knex(config); diff --git a/backend/knexfile.js b/backend/knexfile.js index 74075d9..0ffe60e 100644 --- a/backend/knexfile.js +++ b/backend/knexfile.js @@ -1,11 +1,11 @@ require("dotenv").config(); module.exports = { - development: { + dev: { client: "postgresql", connection: { host: "db", - port: process.env.DB_PORT, + port: 5432, database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, diff --git a/docker-compose.yaml b/docker-compose.yaml index 99cd7e7..370fef2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,23 +16,29 @@ services: backend: image: recipes_backend container_name: recipes_backend - build: ./backend + build: + context: ./backend + args: + NODE_ENV: ${NODE_ENV} ports: - "3000:3000" volumes: - ./backend:/usr/src/app environment: - - NODE_ENV=production + - NODE_ENV=${NODE_ENV} - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - DB_NAME=${DB_NAME} frontend: image: recipes_frontend container_name: recipes_frontend - build: ./frontend + build: + context: ./backend + args: + NODE_ENV: ${NODE_ENV} ports: - "8081:80" volumes: - ./frontend:/usr/src/app environment: - - NODE_ENV=production + - NODE_ENV=${NODE_ENV} diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 765c2ee..56cf382 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -10,4 +10,5 @@ COPY . . EXPOSE 80 -CMD ["npm", "run", "production"] +# CMD ["npm", "run", "$NODE_ENV"] +CMD npm run $NODE_ENV diff --git a/frontend/src/services/frontendApi.js b/frontend/src/services/frontendApi.js index a788cad..3a83ce7 100644 --- a/frontend/src/services/frontendApi.js +++ b/frontend/src/services/frontendApi.js @@ -1,23 +1,27 @@ +const baseUrl = process.env.NODE_ENV === 'production' + ? '/' + : 'http://localhost:3000/'; + export const getRecipes = async () => { - const response = await fetch("/backend/recipes"); + const response = await fetch(`${baseUrl}backend/recipes`); const data = await response.json(); return data; }; export const getRecipeSteps = async () => { - const response = await fetch("/backend/recipe-steps"); + const response = await fetch(`${baseUrl}backend/recipe-steps`); const data = await response.json(); return data; }; export const getRecipeIngredients = async () => { - const response = await fetch("/backend/recipe-ingredients"); + const response = await fetch(`${baseUrl}backend/recipe-ingredients`); const data = await response.json(); return data; }; export const getRecipeById = async (id) => { - const response = await fetch(`/backend/recipe/${id}`); + const response = await fetch(`${baseUrl}backend/recipe/${id}`); const data = await response.json(); return data; }; @@ -25,7 +29,7 @@ export const getRecipeById = async (id) => { export const addRecipe = async (recipeData) => { console.log(JSON.stringify(recipeData)); // return - const response = await fetch("/backend/add-recipe", { + const response = await fetch(`${baseUrl}backend/add-recipe`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(recipeData), @@ -38,7 +42,7 @@ export const addRecipe = async (recipeData) => { export const setDBStars = async (id, stars) => { console.log(JSON.stringify({ id: id, stars: stars })); // return - const response = await fetch("/backend/set-stars", { + const response = await fetch(`${baseUrl}backend/set-stars`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id: id, stars: stars }), @@ -51,7 +55,7 @@ export const setDBStars = async (id, stars) => { export const deleteRecipe = async (id) => { console.log(id); // return - const response = await fetch("/backend/delete-recipe", { + const response = await fetch(`${baseUrl}backend/delete-recipe`, { method: "DELETE", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id }),