Website
Official GNDC website
Installation
npx websiteAsk AI about Website
Powered by Claude · Grounded in docs
I know everything about Website. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
GNDC Website
This is the official repository for the Grand Nord Developpers Community (GNDC) website.
Table of Contents
- Getting Started
- Technology Stack
- Project Structure
- Available Scripts
- Configuration
- Contribution Guidelines
- Code of Conduct
- License
Getting Started
To set up a local copy of the GNDC website for development:
-
Clone the repository:
git clone https://github.com/Grand-Nord-Developpers-Community/website.git cd website -
Install dependencies: You can use npm, yarn, pnpm, or bun.
npm install # or yarn install # or pnpm install # or bun install -
Start the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev -
Open http://localhost:3000 in your browser to view the website.
-
Start editing the page by modifying
app/page.tsx. The page auto-updates as you edit the file.
Technology Stack
- Next.js 16: React-based framework for server-side rendering and static site generation
- TypeScript: Strongly-typed JavaScript for better code quality
- Tailwind CSS: Utility-first CSS framework for rapid UI development
- Drizzle ORM: TypeScript ORM for SQL databases (PostgreSQL)
- MCP (Model Context Protocol): Integrated support for AI agents via
mcp-handlerand@modelcontextprotocol/sdk - Authentication: Lucia Auth and Iron Session
- Background Jobs: Trigger.dev for long-running and scheduled tasks
- Email: Resend and React Email for transactional emails
- State Management: Zustand and TanStack Query (SWR also used)
- UI Components: Radix UI, Framer Motion, and Shadcn UI
- Other Libraries:
- Content: Tiptap editor, Marked, Rehype, Remark
- Utilities: Zod, Axios, Lodash, Date-fns, Lucide Icons
- Image: Cloudinary, Sharp, Plaiceholder
- Database: Neon, PostgreSQL, Upstash Redis (for rate limiting)
Project Structure
actions/- Next.js Server Actions for mutations and side-effectsapp/- Next.js App Router (pages, layouts, and API routes)assets/- Static assets (images, SVGs)components/- Reusable React components (UI, layout, features)constants/- Application-wide constants and configurationsdata/- Static data, seed data, and mocksemails/- React Email templates and testing scriptshooks/- Custom React hooksinterfaces/&types/- TypeScript interface and type definitionslib/- Shared libraries, database client, and core utilitiesproviders/- React Context providers (Auth, Theme, QueryClient)public/- Static files served directlyschemas/- Zod validation and database schemasscripts/- Maintenance and automation scriptssections/- Complex UI sections used across multiple pagesserver/- Server-only logic, including MCP tools and WebPushservices/- External service integrationsstyles/- Global CSS and Tailwind configurationstest/- Test suites and MCP client teststrigger/- Trigger.dev background job definitionsutils/- Shared helper functionsworkers/- Background workers and edge functions
Available Scripts
In the project directory, you can run:
npm run dev- Start development servernpm run build- Build the application for productionnpm run start- Start production servernpm run lint- Run ESLint for code qualitynpm run db:generate- Generate Drizzle ORM migrationsnpm run db:push- Push migrations to the databasenpm run studio- Open Drizzle Studio to explore datanpm run test-emails- Run email template tests
See package.json for additional utility and testing scripts.
Configuration
- Next.js is configured in
next.config.mjs - Tailwind CSS configuration in
tailwind.config.ts - PostCSS configuration in
postcss.config.mjs - Drizzle ORM configuration in
drizzle.config.ts - Environment variables setup in
envConfig.ts
Contribution Guidelines
- Please read WORKING_GUIDELINE.md for best practices and workflow instructions.
- All contributors are expected to follow our Code of Conduct.
Code of Conduct
See CODE_OF_CONDUCT.md for community standards and guidelines.
License
This project is licensed under the terms specified in the repository. See the LICENSE file if available.
