From cfd2ae004d6f49ff20c74f3d2be110d166b201ed Mon Sep 17 00:00:00 2001 From: Liam Date: Thu, 1 Aug 2024 06:29:39 +0100 Subject: [PATCH] frontend testing --- .gitea/workflows/deploy-frontend.yml | 26 ++++++ .gitignore | 2 + Frontend/.eslintrc.json | 3 + Frontend/.gitignore | 36 +++++++++ Frontend/Dockerfile | 42 ++++++++++ Frontend/README.md | 36 +++++++++ Frontend/bun.lockb | Bin 0 -> 145514 bytes Frontend/next.config.mjs | 4 + Frontend/package.json | 26 ++++++ Frontend/postcss.config.mjs | 8 ++ Frontend/public/next.svg | 1 + Frontend/public/vercel.svg | 1 + Frontend/src/app/favicon.ico | Bin 0 -> 25931 bytes Frontend/src/app/globals.css | 33 ++++++++ Frontend/src/app/layout.tsx | 22 ++++++ Frontend/src/app/page.tsx | 113 +++++++++++++++++++++++++++ Frontend/tailwind.config.ts | 20 +++++ Frontend/tsconfig.json | 26 ++++++ 18 files changed, 399 insertions(+) create mode 100644 .gitea/workflows/deploy-frontend.yml create mode 100644 .gitignore create mode 100644 Frontend/.eslintrc.json create mode 100644 Frontend/.gitignore create mode 100644 Frontend/Dockerfile create mode 100644 Frontend/README.md create mode 100644 Frontend/bun.lockb create mode 100644 Frontend/next.config.mjs create mode 100644 Frontend/package.json create mode 100644 Frontend/postcss.config.mjs create mode 100644 Frontend/public/next.svg create mode 100644 Frontend/public/vercel.svg create mode 100644 Frontend/src/app/favicon.ico create mode 100644 Frontend/src/app/globals.css create mode 100644 Frontend/src/app/layout.tsx create mode 100644 Frontend/src/app/page.tsx create mode 100644 Frontend/tailwind.config.ts create mode 100644 Frontend/tsconfig.json diff --git a/.gitea/workflows/deploy-frontend.yml b/.gitea/workflows/deploy-frontend.yml new file mode 100644 index 0000000..84ebf50 --- /dev/null +++ b/.gitea/workflows/deploy-frontend.yml @@ -0,0 +1,26 @@ +name: Deploy Frontend + +on: + push: + branches: ["master"] + paths: [".gitea/workflows/deploy-frontend.yml", "Frontend/**"] + +jobs: + docker: + runs-on: ubuntu-latest + defaults: + run: + working-directory: "./Frontend" + + # Steps to run + steps: + # Checkout the repo + - name: Checkout + uses: actions/checkout@v4 + + # Deploy to Dokku + - name: Deploy to Dokku + uses: dokku/github-action@master + with: + git_remote_url: "ssh://dokku@10.0.50.136:22/bs-tracker-frontend" + ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14591a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +docker +.idea \ No newline at end of file diff --git a/Frontend/.eslintrc.json b/Frontend/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/Frontend/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/Frontend/.gitignore b/Frontend/.gitignore new file mode 100644 index 0000000..fd3dbb5 --- /dev/null +++ b/Frontend/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/Frontend/Dockerfile b/Frontend/Dockerfile new file mode 100644 index 0000000..f15735b --- /dev/null +++ b/Frontend/Dockerfile @@ -0,0 +1,42 @@ +FROM imbios/bun-node AS base + +# Install dependencies +FROM base AS depends +WORKDIR /usr/src/app +COPY package.json* bun.lockb* ./ +RUN bun install --frozen-lockfile --quiet + +# Build the app +FROM base AS builder +WORKDIR /usr/src/app +COPY --from=depends /usr/src/app/node_modules ./node_modules +COPY . . +ENV NEXT_TELEMETRY_DISABLED 1 +RUN bun run build + + +# Run the app +FROM base AS runner +WORKDIR /usr/src/app + +RUN addgroup --system --gid 1007 nextjs +RUN adduser --system --uid 1007 nextjs + +RUN mkdir .next +RUN chown nextjs:nextjs .next + +COPY --from=builder --chown=nextjs:nextjs /usr/src/app/node_modules ./node_modules +COPY --from=builder --chown=nextjs:nextjs /usr/src/app/.next ./.next +COPY --from=builder --chown=nextjs:nextjs /usr/src/app/next.config.mjs ./next.config.mjs +COPY --from=builder --chown=nextjs:nextjs /usr/src/app/package.json ./package.json + +ENV NODE_ENV production + +# Exposting on port 80 so we can +# access via a reverse proxy for Dokku +ENV HOSTNAME "0.0.0.0" +EXPOSE 80 +ENV PORT 80 + +USER nextjs +CMD ["bun", "start"] \ No newline at end of file diff --git a/Frontend/README.md b/Frontend/README.md new file mode 100644 index 0000000..c403366 --- /dev/null +++ b/Frontend/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/Frontend/bun.lockb b/Frontend/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..b50ac12ef5a3ce537b8e865681731ed746791e4b GIT binary patch literal 145514 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 +1r;g!=GMD*p3HE(j*}rg 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 \ No newline at end of file diff --git a/Frontend/public/vercel.svg b/Frontend/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/Frontend/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/src/app/favicon.ico b/Frontend/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/Frontend/src/app/globals.css b/Frontend/src/app/globals.css new file mode 100644 index 0000000..875c01e --- /dev/null +++ b/Frontend/src/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/Frontend/src/app/layout.tsx b/Frontend/src/app/layout.tsx new file mode 100644 index 0000000..3314e47 --- /dev/null +++ b/Frontend/src/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import "./globals.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/Frontend/src/app/page.tsx b/Frontend/src/app/page.tsx new file mode 100644 index 0000000..2acfd44 --- /dev/null +++ b/Frontend/src/app/page.tsx @@ -0,0 +1,113 @@ +import Image from "next/image"; + +export default function Home() { + return ( + + ); +} diff --git a/Frontend/tailwind.config.ts b/Frontend/tailwind.config.ts new file mode 100644 index 0000000..e9a0944 --- /dev/null +++ b/Frontend/tailwind.config.ts @@ -0,0 +1,20 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", + "./src/components/**/*.{js,ts,jsx,tsx,mdx}", + "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", + "gradient-conic": + "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", + }, + }, + }, + plugins: [], +}; +export default config; diff --git a/Frontend/tsconfig.json b/Frontend/tsconfig.json new file mode 100644 index 0000000..7b28589 --- /dev/null +++ b/Frontend/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}
+ + +
+ Next.js Logo +
+ + +