commit 3ea077985221bab4f7efe8e27d8a4d19b2944aa7 Author: Adrian Miesikowski Date: Tue Feb 10 13:34:41 2026 +0100 first commit diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a719f8e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +Dockerfile +.dockerignore +node_modules +npm-debug.log +README.md +.next +.git +.gitignore +*.md +.env*.local +.DS_Store +*.pem diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f4e362e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,47 @@ +# Multi-stage build for Next.js application +FROM node:20-alpine AS base + +# Install dependencies only when needed +FROM base AS deps +RUN apk add --no-cache libc6-compat +WORKDIR /app + +# Copy package files +COPY package.json package-lock.json* ./ +RUN npm ci + +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +# Set environment variables for build +ENV NEXT_TELEMETRY_DISABLED=1 + +# Build the application +RUN npm run build + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV=production +ENV NEXT_TELEMETRY_DISABLED=1 + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +# Copy built application +COPY --from=builder /app/public ./public +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs + +EXPOSE 3000 + +ENV PORT=3000 +ENV HOSTNAME="0.0.0.0" + +CMD ["node", "server.js"] diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..bdf4b79 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,17 @@ +# Development Dockerfile for Next.js with hot reload +FROM node:20-alpine + +WORKDIR /app + +# Install dependencies +COPY package.json package-lock.json* ./ +RUN npm ci + +# Copy application code +COPY . . + +# Expose development port +EXPOSE 3000 + +# Start development server +CMD ["npm", "run", "dev"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e215bc4 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/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/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## 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/app/building-your-application/deploying) for more details. diff --git a/app/about/page.tsx b/app/about/page.tsx new file mode 100644 index 0000000..f34b9d5 --- /dev/null +++ b/app/about/page.tsx @@ -0,0 +1,55 @@ +import type { Metadata } from "next"; +import AboutHero from "@/components/AboutHero"; +import Mission from "@/components/Mission"; +import Values from "@/components/Values"; +import Team from "@/components/Team"; +import CTA from "@/components/CTA"; + +export const metadata: Metadata = { + title: "O nas — Eksperci AI dla Firm | SZMYT AI Labs", + description: + "Zespół specjalistów AI z wieloletnim doświadczeniem ✓ Realizujemy projekty dla firm z różnych branż ✓ Transparentność, innowacyjność, efektywność. Poznaj nas!", + keywords: [ + "zespół AI", + "eksperci sztucznej inteligencji", + "specjaliści AI", + "doświadczenie AI", + "firma AI Polska", + "konsultanci AI", + ], + openGraph: { + title: "O nas — Eksperci AI dla Firm | SZMYT AI Labs", + description: + "Zespół specjalistów AI z wieloletnim doświadczeniem ✓ Realizujemy projekty dla firm z różnych branż ✓ Transparentność, innowacyjność, efektywność.", + url: "https://aiagentdlafirm.pl/about/", + }, + alternates: { canonical: "https://aiagentdlafirm.pl/about/" }, +}; + +const pageSchema = { + "@context": "https://schema.org", + "@type": "WebPage", + name: "O nas — Eksperci AI dla Firm", + url: "https://aiagentdlafirm.pl/about/", + description: "Zespół specjalistów AI z wieloletnim doświadczeniem. Realizujemy projekty dla firm z różnych branż. Transparentność, innowacyjność, efektywność.", + breadcrumb: { + "@type": "BreadcrumbList", + itemListElement: [ + { "@type": "ListItem", position: 1, name: "Strona główna", item: "https://aiagentdlafirm.pl/" }, + { "@type": "ListItem", position: 2, name: "O nas", item: "https://aiagentdlafirm.pl/about/" }, + ], + }, +}; + +export default function About() { + return ( + <> +