A Next.js community engagement hub for the Debugging Disciples community.
- Next.js 16 (App Router, TypeScript)
- Tailwind CSS v4 (CSS-based theme configuration)
- NextAuth.js (Slack OAuth)
- ESLint
- Copy
.env.local.exampleto.env.localand fill in your credentials:
cp .env.local.example .env.local- Install dependencies:
npm install- Run the development server:
npm run devOpen http://localhost:3000 in your browser.
| Variable | Description |
|---|---|
NEXTAUTH_URL |
Base URL (e.g. http://localhost:3000) |
NEXTAUTH_SECRET |
Random secret for NextAuth session signing |
SLACK_CLIENT_ID |
Slack OAuth app client ID |
SLACK_CLIENT_SECRET |
Slack OAuth app client secret |
- 🔐 Slack OAuth sign-in
- 📊 Engagement stats dashboard (messages, prayer requests, sessions, streaks)
- 🏆 Badges with hover tooltips
- 📋 Activity feed with categorized entries
- 👤 Member profile pages with editable bio
- 🎨 Dark tech aesthetic with cyan/purple gradient branding
app/
page.tsx # Landing / sign-in page
dashboard/page.tsx # Protected dashboard
profile/[id]/page.tsx # Member profile pages
api/auth/[...nextauth]/route.ts
components/
AuthProvider.tsx
LandingHero.tsx
Features.tsx
Navbar.tsx
DashboardClient.tsx
StatsGrid.tsx
BadgesSection.tsx
ActivityFeed.tsx
ProfileClient.tsx
lib/
auth.ts # NextAuth configuration