VideoEditify is a modern platform that bridges the gap between content creators and professional video editors. Whether you're a YouTuber, marketer, or content creator, VideoEditify provides a seamless experience for ordering high-quality video editing services.
- 🎥 Easy Ordering: Simple 3-step process to place your order
- ⚡ Fast Turnaround: Connect with available editors instantly
- 💰 Transparent Pricing: Know the cost before you order
- 📦 Secure File Upload: Upload your source files with confidence
- 🔄 Revision System: Request changes until you're satisfied
- ⭐ Quality Assurance: Review and rate completed work
- 🎯 Job Matching: Find projects that match your skills
- 💼 Flexible Work: Choose projects that fit your schedule
- 💸 Secure Payments: Get paid through Stripe Connect
- 📊 Portfolio Building: Showcase your work through reviews
- 📱 Real-time Updates: Stay informed about order status
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Animations: Framer Motion
- State Management: React Context + Hooks
- Form Handling: React Hook Form
- File Upload: React Dropzone
- API: Next.js API Routes
- Database: PostgreSQL
- ORM: Prisma
- Authentication: Next-Auth.js
- Payments: Stripe
- Storage: Cloudflare R2
- Node.js 18.x or later
- PostgreSQL database
- Stripe account
- Cloudflare R2 account (for file storage)
-
Clone the repository:
git clone https://github.com/boy-who-cried-wolf/VideoEditify.git cd VideoEditify -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Update the following variables in
.env:DATABASE_URL: Your PostgreSQL connection stringNEXTAUTH_SECRET: A secure random stringGOOGLE_CLIENT_ID&GOOGLE_CLIENT_SECRET: From Google Cloud ConsoleSTRIPE_SECRET_KEY&STRIPE_WEBHOOK_SECRET: From Stripe DashboardR2_*: Your Cloudflare R2 credentials
-
Initialize the database:
npx prisma generate npx prisma db push
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
src/
├── app/ # Next.js app directory
├── components/ # Reusable components
├── lib/ # Utility functions and configurations
├── styles/ # Global styles
└── types/ # TypeScript type definitions
- Authentication: Next-Auth.js with Google and Email providers
- File Upload: Secure upload to Cloudflare R2 with presigned URLs
- Payments: Stripe integration with webhook handling
- Real-time Updates: Server-side events for order status changes
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the amazing framework
- Tailwind CSS for the utility-first CSS framework
- Stripe for the payment processing
- Cloudflare for the R2 storage service