The official website for 7ayLabs — the organization behind 7aychain.
A Layer 1 blockchain implementing Proof of Presence consensus.
Verifying humans through physical proximity, no biometrics.
Website · Staging · Releases · Contributing
This repository contains the source code for 7aylabs.com — the public-facing website for the 7ayLabs DAO. It serves as the primary information hub for 7aychain's Proof of Presence protocol, developer resources, community updates, and ecosystem tools.
Note — This is the website repository, not the blockchain implementation. For the 7aychain protocol, see 7ayLabs/7aychain.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router, standalone output) |
| UI | React 19 + TypeScript 5.9 |
| Styling | Tailwind CSS 3.4 + CSS custom properties |
| Animations | Framer Motion 11 |
| Icons | Lucide React |
| Database | PostgreSQL via Prisma 6 |
| i18n | next-intl — 7 locales (en, es, pt, fr, de, zh, ja) |
| Package Manager | pnpm 9 |
| Component | Purpose |
|---|---|
| Docker | Multi-stage builds, Node 20 Alpine, non-root container |
| Nginx | Reverse proxy, rate limiting, security headers, static caching |
| GitHub Actions | CI pipeline (lint, typecheck, security audit, build) |
| Jenkins | CD pipeline for staging deployments |
| Cloudflare | DNS, tunnel, DDoS protection |
# Clone and install
git clone https://github.com/7ayLabs/site-7aylabs.git
cd site-7aylabs
pnpm install
# Set up environment
cp .env.example .env.local
# Run development server
pnpm devOpen http://localhost:3000 in your browser.
# Local development with Docker
docker compose -f docker-compose.local.yml up --buildThe app runs at http://localhost:8082.
site-7aylabs/
├── app/ # Next.js App Router
│ ├── [locale]/ # i18n locale routing
│ ├── (public)/ # Public pages (technology, waitlist, etc.)
│ └── api/ # API routes (waitlist, newsletter, contact)
├── components/
│ ├── landing/ # Landing page sections
│ ├── layout/ # Navbar, Footer, providers
│ └── ui/ # Reusable components (Button, Card, Badge, etc.)
├── lib/
│ ├── api/ # Validation, response helpers
│ ├── constants/ # Routes, animations, config
│ └── db/ # Prisma client
├── messages/ # i18n translation files (7 locales)
├── prisma/ # Schema and migrations
├── nginx/ # Nginx reverse proxy config
├── styles/
│ ├── globals.css # Global styles
│ └── tokens.css # ~50 CSS custom properties (theme tokens)
└── public/ # Static assets, logos, icons
- Dual Theme — Light and dark modes with OS preference detection and anti-FOUC
- 7 Languages — Full i18n with locale-aware routing and per-locale SEO metadata
- Animated UI — Scroll-triggered animations with
useReducedMotionfallbacks - API Routes — Waitlist, newsletter, and contact endpoints with rate limiting
- Security — CSP headers, CORS validation, input sanitization, anti-enumeration
- Accessible — ARIA attributes, keyboard navigation, skip-to-content, semantic HTML
- Performance — Dynamic imports, static generation, image optimization, edge caching
All endpoints accept POST requests and are rate-limited to 10 requests/min per IP.
| Endpoint | Description |
|---|---|
/api/waitlist |
Waitlist signup (email, name?, role?) |
/api/newsletter |
Newsletter subscription (email) |
/api/contact |
Contact form (email, name, message) |
# Required
DATABASE_URL="postgresql://user:password@localhost:5432/7aylabs_dev"
# Optional
NODE_ENV=development
PORT=3000
HOSTNAME=localhost
ALLOWED_ORIGINS=http://localhost:3000| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Production build (standalone) |
pnpm lint |
ESLint check |
pnpm db:generate |
Generate Prisma client |
pnpm db:push |
Push schema to database |
pnpm db:migrate |
Run Prisma migrations |
pnpm db:studio |
Open Prisma Studio |
Push to main ──► GitHub Actions (lint, typecheck, audit, build) ──► DockerHub
Push to testing ──► GitHub Actions ──► DockerHub ──► Jenkins auto-deploy ──► VPS
- CI: Runs on every PR — lint, typecheck, security audit, build
- CD: Pushes to
testingbranch auto-deploy to staging via Jenkins
We welcome contributions from the community. See CONTRIBUTING.md for:
- Branch strategy and naming conventions
- Commit message format (Conventional Commits)
- Pull request process
- Code quality requirements
- Fork the repository
- Create a branch from
develop(feat/your-feature) - Make changes, ensure
pnpm lintandpnpm buildpass - Open a PR targeting
develop - Wait for CI checks and review
This project uses semantic versioning. See Releases for the changelog.
| Version | Date | Highlights |
|---|---|---|
| v1.0.0 | 2026-03-09 | Initial release — dual theme, i18n, security hardening, CI/CD |
This project is licensed under the MIT License.
Built by 7ayLabs — Proof of Presence for the real world.