A production-ready, futuristic gaming platform built with Next.js 15, TypeScript, Tailwind CSS, and Framer Motion.
- Premium UI Design: Dark black/purple gaming theme with neon glow effects, glassmorphism cards, and smooth animations
- Real JWT Authentication: Cookie-based auth with middleware protection
- Admin Dashboard: Full admin panel with role-based access control
- Project Management: Upload, edit, and manage gaming resources with Cloudinary integration
- Community Features: Like, comment, bookmark, and share projects
- Creator Profiles: Beautiful creator profiles with social links and badges
- Public Submissions: Users can submit projects for moderation
- Search & Filtering: Advanced search with category filters and sorting
- Responsive Design: Fully mobile-responsive interface
- Production Ready: Vercel deployment ready, optimized images, SEO support
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Animations: Framer Motion
- Authentication: JWT with HTTP-only cookies
- Storage: Local JSON (easily upgradeable to database)
- Image Hosting: Cloudinary
- Icons: Lucide React
- Deployment: Vercel ready
cd voidforge
npm installCreate .env.local:
# Authentication
JWT_SECRET=voidforge_super_secret_key_2026
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123
# Cloudinary (Sign up at cloudinary.com for free account)
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000npm run devOpen http://localhost:3000 in your browser.
Default Credentials:
- Username:
admin - Password:
admin123
Access admin panel at /admin/login
voidforge/
βββ app/ # Next.js app router
β βββ page.tsx # Home page
β βββ explore/ # Explore projects
β βββ trending/ # Trending page
β βββ team/ # Team/creators page
β βββ project/[slug]/ # Project details
β βββ submit/ # User submission form
β βββ admin/ # Admin pages
β β βββ login/ # Admin login
β β βββ dashboard/ # Admin dashboard
β β βββ upload/ # Project upload
β β βββ projects/ # Manage projects
β β βββ submissions/ # Review submissions
β βββ api/ # API routes
β β βββ auth/ # Authentication
β β βββ projects/ # Project CRUD
β β βββ submissions/ # Submission management
β β βββ upload/ # Cloudinary upload
β βββ layout.tsx # Root layout
βββ components/ # React components
β βββ ui/ # UI components
β βββ layout/ # Layout components
β βββ project/ # Project components
βββ lib/ # Utilities
β βββ auth.ts # Auth functions
β βββ data.ts # Data management
βββ types/ # TypeScript types
βββ data/ # JSON data storage
β βββ projects.json
β βββ admins.json
β βββ creators.json
β βββ submissions.json
βββ middleware.ts # Auth middleware
/- Home/explore- Browse projects/trending- Trending projects/categories- Browse by category/team- Meet creators/submit- Submit project/project/[slug]- Project details/about- About VoidForge/contact- Contact page/privacy- Privacy policy/terms- Terms of service/dmca- DMCA notice
/admin/login- Login page/admin/dashboard- Main dashboard/admin/upload- Upload new project/admin/projects- Manage projects/admin/submissions- Review submissions
POST /api/auth/login- LoginPOST /api/auth/logout- Logout
GET /api/projects- List projects (with search/filter/sort)POST /api/projects- Create projectGET /api/projects/[id]- Get project detailsPUT /api/projects/[id]- Update projectDELETE /api/projects/[id]- Delete project
GET /api/submissions- List submissionsPOST /api/submissions- Create submissionPUT /api/submissions- Update submission status
POST /api/upload- Upload image to Cloudinary
Edit app/globals.css to customize the theme:
/* Adjust gradients */
.gradient-text {
@apply bg-gradient-to-r from-purple-400 via-blue-400 to-cyan-400 bg-clip-text text-transparent;
}
/* Adjust primary colors */
/* Change purple-600 to your desired color throughout */Initialize with sample data by copying sample-data.json:
cp data/sample-data.json data/projects.json
cp data/sample-data.json data/admins.json- Push to GitHub
- Import in Vercel
- Set environment variables
- Deploy
JWT_SECRET=your_production_secret_key
ADMIN_USERNAME=secure_username
ADMIN_PASSWORD=secure_password
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
NEXT_PUBLIC_APP_URL=https://yourdomain.comnpm run build
npm run start- Change default admin credentials
- Use strong JWT_SECRET
- Enable HTTPS in production
- Set secure Cloudinary credentials
- Implement rate limiting for API routes
- Validate all user inputs
Create pull requests with improvements!
MIT License - Feel free to use VoidForge for commercial projects.
For issues or questions:
- Email: support@voidforge.dev
- Discord: Join our community
- GitHub Issues: Report bugs
Built with β‘ for premium gaming creators