Demo β’ Documentation β’ Contributing β’ Support
# Clone the repository
git clone https://github.com/vyasvishal/formlab.git
# Navigate to the project directory
cd formlab
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Start the development server
npm run devVisit http://localhost:3000 to see FormLab in action!
Create a .env.local file with the following variables:
# Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Database
DATABASE_URL=your_postgresql_url
# Optional: Analytics
NEXT_PUBLIC_ANALYTICS_ID=your_analytics_id- Drag-and-Drop Builder - Intuitive interface for building forms
- Custom Fields - Text, Multiple Choice, Checkboxes, Date, File Upload
- Validation Rules - Required fields, email format, number ranges
- Responsive Design - Forms look great on all devices
- Secure Login - Powered by Clerk Auth
- Role-Based Access - Admin and User roles
- Data Encryption - End-to-end encryption for sensitive data
- GDPR Compliant - Built with privacy in mind
- Real-time Analytics - Track form submissions
- Export Options - Download responses as CSV/Excel
- Search & Filter - Find submissions quickly
- Visual Reports - Charts and graphs for data analysis
- Unique Links - Share forms via unique URLs
- Team Management - Collaborate with team members
- Access Control - Set form visibility and permissions
- Embed Support - Add forms to any website
- Next.js - React framework for production
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Accessible component system
- Framer Motion - Smooth animations
- Prisma - Modern database toolkit
- PostgreSQL - Reliable database system
- Clerk Auth - Authentication and user management
- API Routes - Serverless API endpoints
graph TD
A[Client] -->|HTTP/WebSocket| B[Next.js Server]
B -->|ORM| C[Prisma]
C -->|SQL| D[PostgreSQL]
B -->|Auth| E[Clerk]
B -->|Storage| F[File System]
- Node.js 18+
- PostgreSQL database
- Clerk account
-
Clone & Install
git clone https://github.com/vyasvishal/formlab.git cd formlab npm install -
Configure Environment
- Copy
.env.exampleto.env.local - Add your Clerk and PostgreSQL credentials
- Copy
-
Database Setup
npx prisma migrate dev npx prisma generate
-
Start Development
npm run dev
We love contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Visit our documentation site for:
- Detailed API references
- Integration guides
- Best practices
- Video tutorials
- Student Feedback Forms
- Event Registration
- Course Evaluations
- Research Surveys
- Contact Forms
- Feedback Collection
- Application Forms
- Data Collection
- MIT licensed
- No hidden costs
- Self-hostable
- Community driven
- Intuitive interface
- Mobile responsive
- Accessible (WCAG 2.1)
- Multi-language support
- Role-based access
- Audit logs
- Data encryption
- API access
- End-to-end encryption
- GDPR compliance
- Regular security audits
- Data backups
FormLab is developed by Vyas Vishal under CodeLab, a student club at AMPICS. Our mission is to make form creation and data collection accessible to everyone.
FormLab is open-source software by vyas vishal.