Initial commit
This commit is contained in:
59
.gitea/workflows/build.yml
Normal file
59
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,59 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: 'Branch to build'
|
||||
required: true
|
||||
default: 'main'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ gitea.event.inputs.branch }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 24
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
set -euo pipefail
|
||||
npm ci --prefer-offline --no-audit --silent 2>&1 | tee install.log
|
||||
env:
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
|
||||
- name: Build (next build)
|
||||
run: |
|
||||
set -euo pipefail
|
||||
npm run build 2>&1 | tee build.log
|
||||
env:
|
||||
NODE_ENV: production
|
||||
NEXT_TELEMETRY_DISABLED: 1
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: Upload logs on failure
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-logs
|
||||
path: |
|
||||
install.log
|
||||
build.log
|
||||
if-no-files-found: ignore
|
||||
|
||||
- name: Build completed
|
||||
if: success()
|
||||
run: echo "Build completed successfully"
|
||||
1237
src/app/layout.tsx
Normal file
1237
src/app/layout.tsx
Normal file
File diff suppressed because it is too large
Load Diff
237
src/app/page.tsx
Normal file
237
src/app/page.tsx
Normal file
@@ -0,0 +1,237 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from '@/components/theme/ThemeProvider';
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
||||
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne';
|
||||
import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree';
|
||||
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
||||
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import { Cube, Wand2, Gem, Puzzle, Rocket, Zap, Shield, Layers, Microchip, Network, Code } from 'lucide-react';
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="medium"
|
||||
sizing="medium"
|
||||
background="aurora"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
>
|
||||
<NavbarStyleApple
|
||||
brandName="NestJS"
|
||||
navItems={[
|
||||
{ name: 'Documentation', id: 'https://docs.nestjs.com' },
|
||||
{ name: 'Enterprise', id: 'https://enterprise.nestjs.com' },
|
||||
{ name: 'Resources', id: 'resources' },
|
||||
]}
|
||||
/>
|
||||
|
||||
<HeroOverlay
|
||||
title="Hello, nest!"
|
||||
description="A progressive Node.js framework for building efficient, reliable and scalable server-side applications."
|
||||
imageSrc="https://nestjs.com/header.e5c9eff6.webp"
|
||||
imageAlt="NestJS Hero Background"
|
||||
textPosition="center"
|
||||
showBlur={true}
|
||||
showDimOverlay={true}
|
||||
buttons={[
|
||||
{ text: 'Documentation', href: 'https://docs.nestjs.com' },
|
||||
{ text: 'Source code', href: 'https://github.com/nestjs/nest' }
|
||||
]}
|
||||
/>
|
||||
|
||||
<FeatureCardOne
|
||||
title="Core Features"
|
||||
description="Everything you need to build robust, powerful, and scalable server-side applications."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
useInvertedBackground="noInvert"
|
||||
features={[
|
||||
{
|
||||
title: "EXTENSIBLE",
|
||||
description: "Provides unparalleled flexibility through its meticulously crafted modular architecture.",
|
||||
imageSrc: "https://nestjs.com/3d.cfabe065.svg",
|
||||
imageAlt: "Extensible"
|
||||
},
|
||||
{
|
||||
title: "VERSATILE",
|
||||
description: "Serves as a robust, elegant, and well-structured foundation for all kinds of server-side applications.",
|
||||
imageSrc: "https://nestjs.com/magic-wand.ff01fe1d.svg",
|
||||
imageAlt: "Versatile"
|
||||
},
|
||||
{
|
||||
title: "PROGRESSIVE",
|
||||
description: "Introduces design patterns and well-established solutions to the Node.js landscape.",
|
||||
imageSrc: "https://nestjs.com/quality.d1d04ce8.svg",
|
||||
imageAlt: "Progressive"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
<FeatureCardThree
|
||||
title="Everything you need.."
|
||||
description="Build robust, powerful, and scalable server-side applications and stop reinventing the wheel."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
useInvertedBackground="noInvert"
|
||||
features={[
|
||||
{
|
||||
id: "01",
|
||||
title: "MODULARITY",
|
||||
description: "Streamline upkeep by organizing applications into self-contained modules.",
|
||||
imageSrc: "https://nestjs.com/puzzle.c9dfc495.svg",
|
||||
imageAlt: "Modularity"
|
||||
},
|
||||
{
|
||||
id: "02",
|
||||
title: "SCALABILITY",
|
||||
description: "Scale seamlessly with efficient, battle-tested components.",
|
||||
imageSrc: "https://nestjs.com/rocket.518dadfa.svg",
|
||||
imageAlt: "Scalability"
|
||||
},
|
||||
{
|
||||
id: "03",
|
||||
title: "DEPENDENCY INJECTION",
|
||||
description: "Elevate testability with a sophisticated dependency injection system.",
|
||||
imageSrc: "https://nestjs.com/di.a0b12f44.svg",
|
||||
imageAlt: "Dependency Injection"
|
||||
},
|
||||
{
|
||||
id: "04",
|
||||
title: "TYPE SAFETY",
|
||||
description: "Mitigate errors through the robust type safety features of TypeScript.",
|
||||
imageSrc: "https://nestjs.com/type-safety.34453790.svg",
|
||||
imageAlt: "Type Safety"
|
||||
},
|
||||
{
|
||||
id: "05",
|
||||
title: "RICH ECOSYSTEM",
|
||||
description: "Explore a rich ecosystem offering versatile tools to craft solutions tailored to your needs.",
|
||||
imageSrc: "https://nestjs.com/ecosystem.eaa69289.svg",
|
||||
imageAlt: "Rich Ecosystem"
|
||||
},
|
||||
{
|
||||
id: "06",
|
||||
title: "ENTERPRISE-READY",
|
||||
description: "Trusted by thousands of leading companies and organizations worldwide.",
|
||||
imageSrc: "https://nestjs.com/chip.3b61cda8.svg",
|
||||
imageAlt: "Enterprise Ready"
|
||||
},
|
||||
{
|
||||
id: "07",
|
||||
title: "MICROSERVICES",
|
||||
description: "Create loosely coupled, independently deployable services for increased agility and scalability.",
|
||||
imageSrc: "https://nestjs.com/microservices.e0074903.svg",
|
||||
imageAlt: "Microservices"
|
||||
},
|
||||
{
|
||||
id: "08",
|
||||
title: "WEB APPS",
|
||||
description: "Build REST APIs, GraphQL APIs, Queues, and real-time & event-driven applications in no time.",
|
||||
imageSrc: "https://nestjs.com/api.67807f71.svg",
|
||||
imageAlt: "Web Apps"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
<BlogCardOne
|
||||
title="Learn & Explore"
|
||||
description="Discover resources to help you master NestJS and build amazing applications."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
blogs={[
|
||||
{
|
||||
id: "1",
|
||||
category: "Infrastructure",
|
||||
title: "Deploy, mau!",
|
||||
excerpt: "Provision and manage your infrastructure on AWS without the hassle and extra DevOps work.",
|
||||
imageSrc: "https://nestjs.com/header.e5c9eff6.webp",
|
||||
imageAlt: "Deploy Infrastructure",
|
||||
authorName: "NestJS Team",
|
||||
authorAvatar: "https://nestjs.com/logo-small-gradient.0ed287ce.svg",
|
||||
date: "Start now"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
category: "Development",
|
||||
title: "Explore your graph",
|
||||
excerpt: "Identify dependencies and connections between modules, and dive deep into the inner workings of your classes.",
|
||||
imageSrc: "https://nestjs.com/header.e5c9eff6.webp",
|
||||
imageAlt: "Module Graph",
|
||||
authorName: "NestJS Team",
|
||||
authorAvatar: "https://nestjs.com/logo-small-gradient.0ed287ce.svg",
|
||||
date: "Learn more"
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
category: "Education",
|
||||
title: "Official NestJS Courses",
|
||||
excerpt: "Learn everything you need to master NestJS and tackle modern backend applications at any scale.",
|
||||
imageSrc: "https://nestjs.com/header.e5c9eff6.webp",
|
||||
imageAlt: "NestJS Courses",
|
||||
authorName: "NestJS Team",
|
||||
authorAvatar: "https://nestjs.com/logo-small-gradient.0ed287ce.svg",
|
||||
date: "See courses"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
<ContactSplit
|
||||
tag="Newsletter"
|
||||
title="Join our Newsletter"
|
||||
description="Subscribe to stay up to date with the latest Nest updates, features, and videos!"
|
||||
useInvertedBackground="noInvert"
|
||||
imageSrc="https://nestjs.com/support.1356a495.png"
|
||||
imageAlt="Newsletter"
|
||||
mediaPosition="right"
|
||||
inputPlaceholder="Enter your email"
|
||||
buttonText="Subscribe"
|
||||
termsText="Stay updated with the latest NestJS news and releases."
|
||||
onSubmit={(email) => console.log('Newsletter signup:', email)}
|
||||
/>
|
||||
|
||||
<FooterBase
|
||||
logoText="NestJS"
|
||||
copyrightText="Copyright © 2017-2026 Kamil Mysliwiec"
|
||||
columns={[
|
||||
{
|
||||
title: "Resources",
|
||||
items: [
|
||||
{ label: "Documentation", href: "https://docs.nestjs.com" },
|
||||
{ label: "Enterprise", href: "https://enterprise.nestjs.com" },
|
||||
{ label: "Courses", href: "https://courses.nestjs.com" },
|
||||
{ label: "Support", href: "https://enterprise.nestjs.com/support" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Community",
|
||||
items: [
|
||||
{ label: "GitHub", href: "https://github.com/nestjs/nest" },
|
||||
{ label: "Discord", href: "https://discord.gg/G7Qnnhy" },
|
||||
{ label: "Twitter", href: "https://twitter.com/nestframework" },
|
||||
{ label: "LinkedIn", href: "https://www.linkedin.com/company/nestjs" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
{ label: "MIT License", href: "https://github.com/nestjs/nest/blob/master/LICENSE" },
|
||||
{ label: "Privacy Policy", href: "privacy" },
|
||||
{ label: "Terms of Service", href: "terms" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
onPrivacyClick={() => console.log('Privacy policy clicked')}
|
||||
/>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
5
vercel.json
Normal file
5
vercel.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"installCommand": "npm ci",
|
||||
"buildCommand": "npm run build",
|
||||
"outputDirectory": ".next"
|
||||
}
|
||||
Reference in New Issue
Block a user