From 275f0f091437c16e82d15f5d4e20cfb3a2984c6d Mon Sep 17 00:00:00 2001 From: Jagraj Aulakh Date: Fri, 14 Apr 2023 13:55:34 -0400 Subject: [PATCH] #57 Added frontend env files for local and production. --- docker-compose.yml | 17 +++++++++-------- frontend/.dockerignore | 2 ++ frontend/.env | 1 + frontend/.env.production | 1 + frontend/package-lock.json | 30 +++++++++++++++++++++++------- frontend/package.json | 1 + frontend/serve.js | 3 +++ 7 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 frontend/.dockerignore create mode 100644 frontend/.env create mode 100644 frontend/.env.production diff --git a/docker-compose.yml b/docker-compose.yml index f6bb35a..e632dc8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,29 +3,30 @@ services: frontend: image: comp2707-frontend build: frontend/ + depends_on: + - backend container_name: comp2707-frontend - environment: - - BACKEND_URL="http://backend:5000" ports: - 8080:8080 backend: image: comp2707-backend build: backend/ + depends_on: + - db container_name: comp2707-backend environment: - - DB_HOST=db - - DB_USER=joe - - DB_PASSWORD=mama + - DATABASE_URL=mysql://root:mama@db/2707 ports: - - 5000:5000 + - 5001:5000 db: image: mariadb:latest environment: - - MARIADB_USER=joe - - MARIADB_PASWWORD=mama - MARIADB_ROOT_PASSWORD=mama + - MARIADB_DATABASE=2707 volumes: - db-volume:/var/lib/mysql + ports: + - 3406:3306 volumes: db-volume: diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..1a931bb --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,2 @@ +.env.local +node_modules/ diff --git a/frontend/.env b/frontend/.env new file mode 100644 index 0000000..30ee813 --- /dev/null +++ b/frontend/.env @@ -0,0 +1 @@ +REACT_APP_BACKEND_URL=http://localhost:5000 diff --git a/frontend/.env.production b/frontend/.env.production new file mode 100644 index 0000000..232dd65 --- /dev/null +++ b/frontend/.env.production @@ -0,0 +1 @@ +REACT_APP_BACKEND_URL=http://localhost:5001 diff --git a/frontend/package-lock.json b/frontend/package-lock.json index fe8ee65..690446a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -12,6 +12,7 @@ "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "bootstrap": "^5.2.3", + "dotenv": "^16.0.3", "react": "^18.2.0", "react-bootstrap": "^2.7.2", "react-dom": "^18.2.0", @@ -6868,11 +6869,11 @@ } }, "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/dotenv-expand": { @@ -14577,6 +14578,14 @@ } } }, + "node_modules/react-scripts/node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -22349,9 +22358,9 @@ } }, "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" }, "dotenv-expand": { "version": "5.1.0", @@ -27743,6 +27752,13 @@ "webpack-dev-server": "^4.6.0", "webpack-manifest-plugin": "^4.0.2", "workbox-webpack-plugin": "^6.4.1" + }, + "dependencies": { + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + } } }, "react-transition-group": { diff --git a/frontend/package.json b/frontend/package.json index 3b61be1..e2a3301 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,6 +7,7 @@ "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "bootstrap": "^5.2.3", + "dotenv": "^16.0.3", "react": "^18.2.0", "react-bootstrap": "^2.7.2", "react-dom": "^18.2.0", diff --git a/frontend/serve.js b/frontend/serve.js index e0feec6..1843314 100644 --- a/frontend/serve.js +++ b/frontend/serve.js @@ -1,6 +1,9 @@ const express = require("express"); const path = require("path"); const app = express(); +const dotenv = require('dotenv'); +dotenv.config() +console.log(process.env); app.use("/*", (req, res, next) => { now = new Date();