SpeakWise is a comprehensive platform that connects conference attendees, speakers, and organizers through anonymous feedback, speaker portfolios, and event management tools.
- Frontend: Next.js 15.x, React 19, TypeScript 5
- Styling: Tailwind CSS, Radix UI components
- State Management: React Context API
- Forms: React Hook Form with Zod validation
- Authentication: JWT-based auth with role-based access control
- Anonymous feedback system for speakers
- Speaker portfolios and analytics
- Event management and discovery
- Attendee management with CSV upload
- Role-based access (Attendees, Speakers, Organizers)
- Node.js 18+
- pnpm (recommended) or npm/yarn
- Backend API running (default: http://127.0.0.1:8000)
# Clone the repository
git clone https://github.com/Darkbeast-glitch/speakwise-frontend-new.git
cd speakwise-frontend-new
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Run development server
pnpm devpnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLintThis project uses GitHub Actions for CI/CD. The workflow includes:
- Linting: Checks code quality with ESLint
- Building: Ensures the application builds successfully
- Testing: (Uncomment in workflow file when tests are added)
The workflow is configured to deploy to Vercel when code is pushed to the main branch.
-
Set up GitHub repository secrets:
- For Vercel deployment:
VERCEL_TOKEN: Your Vercel API tokenVERCEL_ORG_ID: Your Vercel organization IDVERCEL_PROJECT_ID: Your Vercel project ID
- For Vercel deployment:
-
Environment variables:
NEXT_PUBLIC_API_URL: URL to your backend API
- Push to
frontend-setupormainbranch triggers build and lint - Merge to
maintriggers deployment to production - Pull requests against
mainverify build integrity
speakwise-frontend/
├── .github/workflows/ # CI/CD configuration
├── app/ # Next.js App Router pages
├── components/ # React components
├── contexts/ # React Context providers
├── hooks/ # Custom React hooks
├── lib/ # Utilities and API clients
├── public/ # Static assets