src/app/ maps to a URL segment. The root layout.tsx wraps every page with the global Header, Footer, breadcrumbs, and provider context.
Page routes
/ — Home
The landing page. Displays upcoming OWASP events, a worldwide chapter map, recent chapters and projects, top contributors, recent issues, milestones, pull requests, releases, news posts, and aggregate community statistics.
/projects — Projects
Searchable catalog of all OWASP projects. Supports filtering by type, health status, and other attributes. Backed by Algolia for fast full-text search.
/projects/[projectKey] — Project detail
Detail page for a single OWASP project. Shows project metadata, health metrics, repositories, contributors, recent issues, pull requests, and releases.
/projects/dashboard — Projects dashboard
Aggregated dashboard view across all projects, showing health statistics, contribution trends, and project type breakdowns.
/chapters — Chapters
Interactive world map of OWASP local chapters using Leaflet and OpenStreetMap. Includes chapter search and location-based filtering.
/chapters/[chapterKey] — Chapter detail
Detail page for a single OWASP chapter. Displays chapter description, leaders, location, and upcoming events.
/contribute — Contribute
Lists open contribution opportunities across OWASP projects — good first issues, help-wanted issues, and mentorship openings.
/mentorship — Mentorship
Displays OWASP mentorship programs. Shows available programs, mentors, and open mentee issues.
/community — Community
Overview of the OWASP community including Slack, mailing lists, and other participation channels.
/members — Members
Browseable list of OWASP members with search and filtering.
/organizations — Organizations
Lists organizations affiliated with OWASP, with details on their projects and contributions.
/committees — Committees
Overview of active OWASP committees and their focus areas.
/board — Board
Information about the OWASP Board of Directors.
/about — About
About page for OWASP Nest, including its mission and links to resources.
/settings — Settings
User account settings, including API key management.
/my — My dashboard
Authenticated user dashboard showing personal activity, contributions, and saved items.
/auth — Authentication
Handles GitHub OAuth sign-in and sign-out flows via NextAuth.js.
Special files
The App Router also includes these special files at thesrc/app/ root:
| File | Purpose |
|---|---|
layout.tsx | Root layout: wraps all pages with Header, Footer, breadcrumbs, and context providers |
page.tsx | Home page (/) |
globals.css | Global CSS styles |
not-found.tsx | Custom 404 page |
global-error.tsx | Global error boundary for unhandled errors |
api/ | Next.js API routes (server-side endpoints, including NextAuth callbacks) |
Layouts and providers
The root layout (src/app/layout.tsx) applies the following to every page:
- Geist and Geist Mono fonts via
next/font/google - The
Providerswrapper (Apollo Client, HeroUI, theme, PostHog) BreadcrumbRootcontext for dynamic breadcrumbsHeaderwith optional GitHub authBreadCrumbsWrapperfor per-page breadcrumb displayFooterScrollToTopandAutoScrollToTophelpers- Google Analytics via
@next/third-parties(whenNEXT_PUBLIC_GTM_IDis set)
The root layout sets
export const dynamic = 'force-dynamic' to ensure fresh data on every request.