This is the official repository for the Grand Nord Developpers Community (GNDC) website.
- Getting Started
- Technology Stack
- Project Structure
- Available Scripts
- Configuration
- Contribution Guidelines
- Code of Conduct
- License
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.
- Next.js: React-based framework for server-side rendering and static site generation
- TypeScript: Strongly-typed JavaScript for better code quality and maintainability
- Tailwind CSS: Utility-first CSS framework for rapid UI development
- Lucide Icons: Icon set for React
- Radix UI: Unstyled, accessible components for building high-quality design systems
- Drizzle ORM: TypeScript ORM for SQL databases
- PostgreSQL: Database support via adapters
- Other Libraries: (see
package.json
for a comprehensive list)- UI: framer-motion, cmdk, shadcn-ui, zustand, react-hook-form, react-toastify, recharts
- Auth: lucia, iron-session, @auth/drizzle-adapter
- Utilities: lodash, axios, dotenv, gray-matter, uuid
- Email: emailjs-com, resend
- Image: sharp, blurhash, react-blurhash
app/
- Main application code (pages, routes, etc.)components/
- Reusable React componentsassets/
- Static assets such as imagesstyles/
- Global and component-specific stylespublic/
- Publicly served static filesconstants/
- App-wide constant valueslib/
- Utility/helper functionsdata/
- Sample or seed dataschemas/
- Database or data validation schemashooks/
- Custom React hooksproviders/
- Context and provider componentsemails/
- Email templates or logicsections/
- High-level page sections
In the project directory, you can run:
npm run dev
- Run the development servernpm run build
- Build the application for productionnpm run start
- Start the production servernpm run lint
- Lint the codebasenpm run generate
- Generate Drizzle ORM artifactsnpm run push
- Push Drizzle ORM migrationnpm run introspect
- Introspect database schema with Drizzle ORMnpm run studio
- Open Drizzle ORM studio
See package.json
for additional scripts.
- 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
- Please read WORKING_GUIDELINE.md for best practices and workflow instructions.
- All contributors are expected to follow our Code of Conduct.
See CODE_OF_CONDUCT.md for community standards and guidelines.
This project is licensed under the terms specified in the repository. See the LICENSE
file if available.