commit d769ac602b99879e8c0ab17ccd5d49a2e64c9efc Author: deonisii Date: Fri Apr 17 03:15:47 2026 +0300 init diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a58150c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +node_modules +.next +.git +.gitignore +npm-debug.log +Dockerfile +docker-compose.yml +README.md \ No newline at end of file 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/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..8bd0e39 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,5 @@ + +# This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. + diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..05c40ef --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM node:22-alpine AS base + +FROM base AS deps +WORKDIR /app +COPY package*.json ./ +RUN npm ci + +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . +RUN npm run build + +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV=production +ENV PORT=3000 +ENV HOSTNAME=0.0.0.0 + +COPY --from=builder /app/public ./public +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static + +EXPOSE 3000 + +CMD ["node", "server.js"] \ No newline at end of file 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..9d481b6 --- /dev/null +++ b/app/about/page.tsx @@ -0,0 +1,73 @@ +export default function AboutPage() { + return ( +
+
+
+
+

О компании

+

+ WorkParking — решения +
+ для умного дворового въезда +

+

+ Мы занимаемся апгрейдом дворовых шлагбаумов и внедрением систем + доступа для жилых комплексов, дворов, ТСЖ, ТСН и управляющих + компаний в Москве. +

+
+
+
+ +
+
+
+
+

Чем мы занимаемся

+

+ WorkParking помогает превратить обычный дворовый шлагбаум в + современную систему контроля доступа. Мы внедряем въезд и выезд + по номеру автомобиля, подключаем приложение для жителей, + настраиваем гостевые сценарии, историю проездов, фото с камеры и + аналитику по подписке. +

+
+ +
+

Наш подход

+

+ Мы делаем упор не только на оборудование, но и на удобство + эксплуатации. Для нас важно, чтобы система была понятной для + жителей, полезной для управляющей компании и устойчивой в + ежедневной работе. Поэтому мы строим решения, которые можно + запускать поэтапно: от базового доступа по номеру до расширенной + аналитики и сервисных функций. +

+
+ +
+

Для кого мы работаем

+

+ Наши решения подходят для дворов многоквартирных домов, жилых + комплексов, ТСЖ, ТСН и управляющих компаний, которым нужен + современный и понятный инструмент управления въездом. Мы можем + модернизировать существующий шлагбаум или предложить модель + подключения с сервисным оборудованием. +

+
+ +
+

Юридическая информация

+
+
Компания: ООО «Пракфлоу»
+
ИНН: 7777773333
+
Телефон: +7 (999) 969-81-49
+
Email: sale@parkflow.ru, info@parkflow.ru
+
+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/cases/page.tsx b/app/cases/page.tsx new file mode 100644 index 0000000..9fd4303 --- /dev/null +++ b/app/cases/page.tsx @@ -0,0 +1,71 @@ +export default function CasesPage() { + return ( +
+
+
+
+

Кейсы и объекты

+

+ Как будут выглядеть кейсы +
+ после наполнения +

+

+ Пока здесь демо-контент. Позже заменишь его на реальные адреса, + фото объектов, конфигурации и результаты внедрения. +

+
+
+
+ +
+
+
+ Жилой комплекс +
+

ЖК на 2 въезда

+

+ Автоматизация въезда и выезда по номеру, приложение и базовая + история событий. +

+
+
+ +
+ Дворовой шлагбаум +
+

Дворовой шлагбаум

+

+ Апгрейд существующего въезда без полной замены всей схемы + доступа. +

+
+
+ +
+ Управляющая компания +
+

Объект для УК

+

+ Расширенная подписка с фото в истории, фильтрами и аналитикой по + событиям проезда. +

+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/contacts/page.tsx b/app/contacts/page.tsx new file mode 100644 index 0000000..1f2e97b --- /dev/null +++ b/app/contacts/page.tsx @@ -0,0 +1,89 @@ +export default function ContactsPage() { + return ( +
+
+
+
+

Контакты

+

+ Свяжитесь с нами +

+

+ Если вы хотите обсудить апгрейд дворового шлагбаума, внедрение + въезда по номеру автомобиля или подключение сервиса по подписке — + свяжитесь с нами удобным способом. +

+
+
+
+ +
+
+
+

Основные контакты

+
+
+
Телефон
+ + +7 (999) 969-81-49 + +
+ +
+
Email для продаж
+ + sale@parkflow.ru + +
+ +
+
Общий Email
+ + info@parkflow.ru + +
+ +
+
Компания
+
ООО «Пракфлоу»
+
+ +
+
ИНН
+
7777773333
+
+
+
+ +
+

Соцсети и мессенджеры

+ + +
+

+ Здесь позже можно добавить форму обратной связи, карту или + отдельные контакты для отдела продаж и технической поддержки. +

+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000..cd172fc Binary files /dev/null and b/app/favicon.ico differ diff --git a/app/for-uk/page.tsx b/app/for-uk/page.tsx new file mode 100644 index 0000000..8073f70 --- /dev/null +++ b/app/for-uk/page.tsx @@ -0,0 +1,61 @@ +import { Building2, CheckCircle2, ShieldCheck, BarChart3 } from "lucide-react"; + +export default function ForUkPage() { + return ( +
+
+
+
+

Для управляющих компаний

+

+ Решение для УК, ТСЖ и ТСН +

+

+ Помогаем перевести дворовой шлагбаум из ручного режима в систему с + прозрачной логикой доступа, историей событий и понятной подпиской. +

+
+
+
+ +
+
+
+ +

Единый инструмент

+

+ Управление въездом, списками доступа и событиями проезда в одной + системе. +

+
+ +
+ +

Контроль территории

+

+ Меньше посторонних автомобилей и меньше ручных операций по въезду. +

+
+ +
+ +

Аналитика для УК

+

+ В расширенном тарифе доступны фильтры, фото в истории и более + детальная аналитика проездов. +

+
+ +
+ +

Поэтапное внедрение

+

+ Можно начать с базового функционала и затем перейти на + расширенную подписку. +

+
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..4958b33 --- /dev/null +++ b/app/globals.css @@ -0,0 +1,21 @@ +@import "tailwindcss"; + +:root { + --background: #0a0a0a; + --foreground: #ffffff; +} + +html { + scroll-behavior: smooth; +} + +body { + background: var(--background); + color: var(--foreground); +} + +@layer utilities { + .hero-bg { + background: linear-gradient(135deg, #050505 0%, #101712 55%, #12241a 100%); + } +} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..9a54322 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,148 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import "./globals.css"; +import Link from "next/link"; +import MobileMenu from "@/components/mobile-menu"; + +const inter = Inter({ subsets: ["latin", "cyrillic"] }); + +export const metadata: Metadata = { + title: "WorkParking — Умные парковки", + description: + "Апгрейд дворовых шлагбаумов в Москве: въезд и выезд по номеру, приложение, история проездов и подписка на сервис.", +}; + +const navLinks = [ + { href: "/services", label: "Услуги" }, + { href: "/cases", label: "Кейсы" }, + { href: "/for-uk", label: "Для УК" }, + { href: "/pricing", label: "Цены" }, + { href: "/about", label: "О компании" }, + { href: "/contacts", label: "Контакты" }, +]; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + +
+
+ + WorkParking + + + + + +
+
+ + {children} + + + + + ); +} \ No newline at end of file diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..fdec60f --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,333 @@ +import Link from "next/link"; +import { + ArrowRight, + Camera, + Fence, + Smartphone, + CheckCircle2, + ShieldCheck, + Server, + Building2, + CircleDollarSign, + BarChart3, +} from "lucide-react"; + +export default function Home() { + return ( +
+
+
+
+
+
+ + Апгрейд дворовых шлагбаумов в Москве +
+ +

+ Умный въезд +
+ для двора, ЖК и УК +

+ +

+ Распознавание номера автомобиля, автоматический въезд и выезд, + приложение для жителей, история проездов, фото с камеры и + аналитика по подписке. +

+ +
+ + Посмотреть тарифы + + + + + Решение для УК + +
+ +
+
+ Въезд и выезд по номеру +
+
+ Приложение для жителей +
+
+ Подписка с аналитикой +
+
+
+ +
+
+ Дворовой въезд со шлагбаумом +
+ +
+
+ +
+

Контроль доступа

+

ANPR-камера

+

+ распознавание номера и фото проезда +

+
+
+
+ +
+
+ +
+

Расширенный тариф

+

Аналитика

+

+ история, фильтры и отчёты по проездам +

+
+
+
+
+
+
+
+ +
+
+
+

+ Что входит в апгрейд +

+

+ Мы не просто ставим оборудование, а превращаем обычный шлагбаум в + управляемую систему доступа для двора и управляющей компании. +

+
+ +
+
+ +

Распознавание номера

+

+ Камера считывает номер авто и автоматически открывает въезд или + выезд по правилам доступа. +

+
+ +
+ +

+ Управление шлагбаумом +

+

+ Сохраняется удобный сценарий для резидентов, гостей и служебного + транспорта без ручного режима. +

+
+ +
+ +

+ Приложение и личный доступ +

+

+ Жители получают управление доступом со смартфона, а УК — единый + инструмент контроля. +

+
+
+
+
+ +
+
+
+

+ Два формата подписки +

+

+ Можно начать с базового тарифа и перейти на расширенный, когда + понадобится более глубокая история и аналитика. +

+
+ +
+
+
+

Базовая подписка

+ + 10 000 ₽ / мес + +
+ +
+
+ + Въезд и выезд по номеру автомобиля +
+
+ + Приложение и базовые функции для жителей +
+
+ + Базовая история проездов +
+
+ + Управление доступом для двора +
+
+
+ +
+
+

Расширенная подписка

+ + 15 000 ₽ / мес + +
+ +
+
+ + Всё из базового тарифа +
+
+ + Фото автомобиля в истории проездов +
+
+ + Фильтры по событиям и автомобилям +
+
+ + Более подробная аналитика и отчёты +
+
+
+
+
+
+ +
+
+
+
+

+ Что получает объект +

+ +
+ {[ + "Контроль въезда и выезда по номеру автомобиля", + "Историю всех событий проезда", + "Снижение ручной нагрузки на диспетчера и охрану", + "Удобный сценарий доступа для жителей и гостей", + "Основание для дальнейшей аналитики и масштабирования", + ].map((item) => ( +
+ +

{item}

+
+ ))} +
+
+ +
+

+ Для кого подходит решение +

+ +
+
+ Дворы многоквартирных домов +
+
+ Жилые комплексы с закрытым въездом +
+
+ Управляющие компании, ТСЖ и ТСН +
+
+ Объекты, где нужен простой старт и платное расширение функций +
+
+ +
+ + Посмотреть услуги + + + Смотреть тарифы + +
+
+
+
+
+ +
+
+
+
+

+ Обсудим апгрейд вашего шлагбаума +

+

+ На следующем этапе сюда можно подключить реальную форму и + отправку заявки в backend. +

+
+ +
+ + +