Build a Next.js conference submission manager with TypeScript, Tailwind, Prisma/SQLite, and email-based auth. Follows simple, accessible UI patterns resembling Google Forms.
This skill helps you build and maintain a Next.js-based conference submission management system designed for academic labs and small conferences.
Guides development of a lightweight conference management website with:
When working on this conference management system, follow these guidelines:
1. **Framework**: Use Next.js with TypeScript for all components and pages
2. **Styling**: Apply Tailwind CSS utility classes for all UI elements
3. **Database**: Use Prisma with SQLite as the database provider
4. **Type Safety**: Ensure all functions, components, and API routes are fully typed with TypeScript
1. **Design Philosophy**: Keep interfaces simple and accessible, resembling Google Forms
2. **Form Design**: Create clean, minimal forms with:
- Clear labels and instructions
- Proper input validation
- Accessible error messages
- Responsive layouts that work on mobile and desktop
3. **Navigation**: Keep navigation minimal and intuitive
4. **Pages**: Design pages with minimal clutter, focusing on the primary task
1. **Login Method**: Implement email-only login (no password)
- Send magic link or OTP via email
- Create session cookie upon successful authentication
- Store session securely with httpOnly cookies
2. **Admin Access**:
- Maintain an admin email list in the database
- Seed admin emails using Prisma seed scripts
- Check user email against admin list for privileged actions
3. **Session Management**: Implement middleware to protect routes requiring authentication
1. **Prisma Setup**: Define clear, well-typed Prisma schemas
2. **Seeding**: Create seed scripts for:
- Admin email list
- Sample conference data for development
- Test submissions
3. **Migrations**: Use Prisma migrations for schema changes
1. **Components**: Create reusable, typed React components
2. **API Routes**: Build type-safe API endpoints with proper error handling
3. **Utilities**: Extract common logic into typed utility functions
4. **Validation**: Use Zod or similar for runtime type validation on forms and API inputs
1. **Accessibility**: Ensure all forms and UI elements follow WCAG guidelines
2. **Error Handling**: Provide clear, user-friendly error messages
3. **Loading States**: Show appropriate loading indicators during async operations
4. **Type Safety**: Never use `any` type; prefer proper TypeScript types
5. **Code Style**: Keep code clean, well-commented, and maintainable
**User request**: "Add a submission form for conference papers"
**Expected approach**:
1. Create a typed Prisma schema for paper submissions
2. Build a simple, accessible form component with Tailwind
3. Implement API route with full TypeScript types
4. Add form validation with clear error messages
5. Ensure the form is responsive and follows Google Forms aesthetic
**User request**: "Set up authentication"
**Expected approach**:
1. Create Prisma schema for users and sessions
2. Implement email-based magic link/OTP system
3. Set up session cookie handling with httpOnly flag
4. Create middleware to protect authenticated routes
5. Seed admin email list in Prisma seed file
6. Add admin check utility function
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/conference-management-system-builder/raw