feat: initialize backend and frontend structure with Docker support
- Added backend package.json with dependencies for Express, MySQL, and EJS. - Created server.js for backend server setup with basic routing and error handling. - Added EJS view for the index page. - Set up Docker Compose configuration for frontend, backend, and MySQL database services. - Created Dockerfile for frontend build process using Node and Nginx. - Configured Nginx for serving frontend application. - Implemented i18n setup for internationalization with English and German language support. - Added localization files for English and German languages.
This commit is contained in:
12
backend/Dockerfile
Normal file
12
backend/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM node:20-alpine
|
||||
|
||||
ENV NODE_ENV=production
|
||||
WORKDIR /backend
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8004
|
||||
CMD ["npm", "start"]
|
||||
1045
backend/package-lock.json
generated
Normal file
1045
backend/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
19
backend/package.json
Normal file
19
backend/package.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": "",
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.2.3",
|
||||
"ejs": "^3.1.10",
|
||||
"express": "^5.2.1",
|
||||
"mysql2": "^3.16.0"
|
||||
}
|
||||
}
|
||||
0
backend/routes/default/frontend.data.js
Normal file
0
backend/routes/default/frontend.data.js
Normal file
0
backend/routes/default/frontend.route.js
Normal file
0
backend/routes/default/frontend.route.js
Normal file
24
backend/server.js
Normal file
24
backend/server.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import express from "express";
|
||||
import cors from "cors";
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT;
|
||||
app.set("view engine", "ejs");
|
||||
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.render("index");
|
||||
});
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server is running on http://localhost:${PORT}`);
|
||||
});
|
||||
|
||||
// error handling code
|
||||
app.use((err, req, res, next) => {
|
||||
console.error(err.stack);
|
||||
res.status(500).send("Something broke!");
|
||||
});
|
||||
11
backend/views/index.ejs
Normal file
11
backend/views/index.ejs
Normal file
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>backend</title>
|
||||
</head>
|
||||
<body>
|
||||
backend
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user