A high-performance, localized event landing page built for Women Techmakers Montreal. This project follows a modular, feature-based architecture and is optimized for speed and accessibility.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Animations: Framer Motion
- Internationalization: next-intl
- Icons: Lucide React
- Node.js 18+
- npm or pnpm
npm installnpm run dev
# Opens http://localhost:3000npm run build
# Outputs to /out directory ready for static hostingsrc/
├── app/ # Next.js App Router pages
│ ├── [locale]/ # Localized routes (en/fr)
│ └── global-error.tsx # Error boundary
├── components/
│ ├── layout/ # Structural components (Navbar, Footer)
│ ├── sections/ # Page sections (Hero, Sponsors, etc.)
│ └── ui/ # Reusable UI atoms (Button, FloatingOrb)
├── i18n/ # Localization configuration
├── messages/ # JSON Translation files (The Content Source)
│ ├── en/
│ └── fr/
└── types/ # TypeScript definitions
Content is managed entirely via JSON files in src/messages/.
- To update text: Edit
src/messages/en/*.jsonandsrc/messages/fr/*.json. - To add a Sponsor: Edit
sponsors.json. The UI updates automatically. - To add a Menu Item: Edit
common.jsonundermenu.
Important: If you add new data keys, ensure src/types/ interfaces are updated to match, or TypeScript will warn you.
- Images: Place high-res images in
public/images/. - Logos: Place SVG logos in
public/logo/. - Favicons: Handled automatically by Next.js via
src/app/icon.png.
This project is configured for Static Export (output: 'export').
- Push to
mainbranch. - The GitHub Action (if configured) will build and deploy the
out/folder.
npm run build
npx surge out- WTM Montreal Team - info@wtmmontreal.com
- Fork the repo.
- Create a feature branch.
- Commit changes.
- Open a Pull Request.
© 2026 Women Techmakers Montreal | Licensed under MIT