diff --git a/README.md b/README.md new file mode 100644 index 0000000..21903c3 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +funny app to calculate mini guildford times +very alpha, very not working, but hey first react project + +![app.png](app.png) diff --git a/app.png b/app.png new file mode 100644 index 0000000..7567d22 Binary files /dev/null and b/app.png differ diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..52c9cc2 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,22 @@ +FROM golang:1.22.3-alpine as build + +WORKDIR /app + +COPY go.mod go.sum ./ + +RUN go mod download + +# Copy the rest of the application code to the working directory +COPY . . + +RUN go build -o main . + +FROM alpine:latest + +WORKDIR /app + +COPY --from=build /app/main . + +EXPOSE 8080 + +CMD ["./main"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d901251 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.8' + +services: + frontend: + build: + context: ./frontend + dockerfile: Dockerfile + ports: + - "1307:80" # Map port 80 of the frontend container to port 3000 on localhost + depends_on: + - backend # Ensure backend service is started before frontend + + backend: + build: + context: ./backend + dockerfile: Dockerfile + ports: + - "1308:8080" # Map port 8080 of the backend container to port 8080 on localhost diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..074a3e1 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,29 @@ +# Use an official Node runtime as a parent image +FROM node:22.2-alpine as build + +# Set the working directory in the container +WORKDIR /app + +# Copy package.json and package-lock.json to the working directory +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application code to the working directory +COPY . . + +# Build the React app for production +RUN npm run build + +# Use nginx as the base image for serving content +FROM nginx:alpine + +# Copy the build output from the build stage to serve with nginx +COPY --from=build /app/build /usr/share/nginx/html + +# Expose port 80 to the Docker network +EXPOSE 80 + +# Start nginx when the container starts +CMD ["nginx", "-g", "daemon off;"] diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 054ad1f..10b06cf 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,7 +1,33 @@ import RelayForm from "./RelayForm"; import "./App.css"; +import { Layout } from "antd"; + +const { Footer: AntFooter } = Layout; const App: React.FC = () => { - return ; + return ( + <> + {" "} + + +

+ + Source Code + +

+
+ + ); }; export default App;