The premier digital marketplace for developers to buy and sell programming projects, source code, and innovative solutions.
π Visit ProjectBuzz: https://projectbuzz.tech
ProjectBuzz is a comprehensive digital marketplace that connects developers worldwide. Whether you're looking to buy ready-made projects to accelerate your development process or sell your innovative coding solutions, ProjectBuzz provides a secure, user-friendly platform with integrated payment processing and project delivery systems.
- π Buy & Sell Projects: Complete marketplace for digital programming projects
- π³ Secure Payments: Integrated Razorpay payment gateway with wallet system
- π₯ Role-Based Access: Separate dashboards for buyers, sellers, and administrators
- π± Responsive Design: Modern UI with dark theme and mobile optimization
- π Secure Authentication: MongoDB-based JWT authentication with OAuth integration
- π Analytics Dashboard: Comprehensive sales and purchase tracking
- π Production Ready: Deployed on Vercel with MongoDB Atlas backend
- React 18 with TypeScript
- Tailwind CSS + shadcn/ui components
- Vite for fast development and building
- React Router for navigation
- Axios for API communication
- Three.js for 3D animations
- Node.js + Express.js
- MongoDB Atlas cloud database
- JWT authentication
- Razorpay payment integration
- Multer for file uploads
- Nodemailer for email notifications
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
- Domain: BigRock (projectbuzz.tech)
- Version Control: GitHub
- Authentication: MongoDB-based JWT authentication
- UI Framework: React with TypeScript
- Styling: Tailwind CSS with shadcn/ui components
- API Communication: Axios with JWT token authentication
- State Management: React Context for authentication
- Authentication: JWT-based authentication with MongoDB
- Database: MongoDB Atlas (production) / Local MongoDB (development)
- Payment Gateway: Razorpay Payment Gateway
- File Storage: Local file storage with multer
- API: RESTful endpoints with validation
- Security: Helmet, CORS, input validation
- β Project Catalog: Browse and search programming projects by category, technology, and price
- β Advanced Filtering: Filter by programming language, framework, complexity level
- β Project Details: Comprehensive project descriptions with screenshots and demos
- β Multiple Images: Support for up to 5 project images with hover cycling
- β Real-time Search: Instant search with auto-suggestions
- β Razorpay Integration: Secure payment processing with multiple payment methods
- β Wallet System: Seller wallet management with automatic commission calculation
- β Instant Downloads: Immediate project access after successful payment
- β Purchase History: Complete transaction tracking for buyers and sellers
- β Payout Management: Automated seller payouts with 3-4 day processing
- β Role-Based Access: Separate interfaces for buyers, sellers, and administrators
- β OAuth Integration: Google and GitHub login (GitHub under development)
- β Profile Management: Comprehensive user profiles with statistics
- β Seller Verification: Enhanced registration process for sellers
- β Admin Controls: Complete user and project management system
- β MongoDB Atlas: Cloud database with production-ready scaling
- β JWT Authentication: Secure token-based authentication system
- β File Upload System: Secure project file handling and storage
- β Email Notifications: Automated notifications for purchases and updates
- β SEO Optimized: Comprehensive SEO implementation for better search visibility
- β Mobile Responsive: Optimized for all device sizes
- β Dark Theme: Modern dark UI with professional design
- β Performance Optimized: Fast loading with code splitting and lazy loading
- Modern landing page with featured projects
- 3D animated ProjectBuzz logo with Rubik's cube design
- Dark theme with professional corporate styling
- Grid layout with project cards showing images, pricing, and details
- Advanced filtering and search functionality
- Category-based browsing (Web, Mobile, Desktop, AI/ML, Blockchain, Games)
- Buyer Dashboard: Purchase history, downloaded projects, payment tracking
- Seller Dashboard: Project management, sales analytics, wallet balance
- Admin Dashboard: User management, project approval, system analytics
- Integrated Razorpay checkout with multiple payment options
- Instant project access after successful payment
- Automated email confirmations and receipts
Experience ProjectBuzz: https://projectbuzz.tech
- Buyer Account: Register as buyer to browse and purchase projects
- Seller Account: Register as seller to list and sell your projects
- Payment Testing: Use Razorpay test cards for payment simulation
ProjectBuzz includes a comprehensive testing suite with unit, integration, and end-to-end tests.
tests/
βββ integration/ # API and workflow integration tests
βββ unit/ # Individual component/function tests
βββ e2e/ # End-to-end user journey tests
frontend/src/__tests__/ # Frontend component tests
backend/tests/ # Backend API and service tests
# All tests
npm test
# Frontend tests only
cd frontend && npm test
# Backend tests only
cd backend && npm test
# Integration tests
cd tests && npm run test:integration
# With coverage
npm run test:coverage- Node.js (v18 or higher)
- MongoDB Atlas account (for production) or local MongoDB (for development)
- Razorpay account for payment processing
- Gmail account with App Password for email notifications
-
Install all dependencies
npm run install:all
-
Setup environment files
npm run setup
-
Start development servers
npm run dev
-
Navigate to backend directory
cd backend -
Install dependencies
npm install
-
Environment Configuration
cp .env.example .env
Edit
.envwith your configuration:# MongoDB Configuration MONGO_URI=mongodb://localhost:27017/projectbuzz # Server Configuration PORT=5000 NODE_ENV=development FRONTEND_URL=http://localhost:5173 # JWT Configuration JWT_SECRET=your-super-secret-jwt-key-here # Razorpay Configuration RAZORPAY_KEY_ID=your_razorpay_key_id RAZORPAY_KEY_SECRET=your_razorpay_key_secret # Email Configuration SMTP_USER=[email protected] SMTP_PASS=your-gmail-app-password
-
Start the backend server
npm run dev
-
Navigate to frontend directory
cd frontend -
Install dependencies
npm install
-
Environment Configuration Create
.envfile:VITE_API_URL=http://localhost:5000/api VITE_RAZORPAY_KEY_ID=your_razorpay_key_id VITE_APP_NAME=ProjectBuzz
-
Start the frontend development server
npm run dev
For production deployment, migrate from local MongoDB to MongoDB Atlas:
-
Run the migration script
npm run atlas:migrate
-
Setup Atlas database
npm run atlas:setup
-
Validate production configuration
npm run production:validate
-
Verify deployment readiness
npm run production:verify
-
Create production environment file
cp backend/.env.production.example backend/.env.production
-
Update with production values
NODE_ENV=production MONGO_URI=mongodb+srv://username:[email protected]/projectbuzz FRONTEND_URL=https://your-domain.com BACKEND_URL=https://api.your-domain.com JWT_SECRET=your-production-jwt-secret-64-characters-minimum RAZORPAY_KEY_ID=rzp_live_your_production_key RAZORPAY_KEY_SECRET=your_production_secret
-
Deploy with PM2
cd backend pm2 start ecosystem.config.js --env production
For detailed deployment instructions, see PRODUCTION-DEPLOYMENT.md
All protected endpoints require JWT token in Authorization header:
Authorization: Bearer <jwt-token>
GET /api/projects- Get all approved projects (public)GET /api/projects/my- Get current user's projects (seller)GET /api/projects/:id- Get single projectPOST /api/projects- Create new project (seller, with file upload)PUT /api/projects/:id- Update project (seller)DELETE /api/projects/:id- Delete project (seller)POST /api/projects/:id/purchase- Purchase project (buyer)GET /api/projects/:id/download- Download purchased project
GET /api/users/me- Get current user profilePUT /api/users/me- Update user profileGET /api/users/me/purchases- Get user's purchasesGET /api/users/me/sales- Get user's sales (seller)GET /api/users/me/stats- Get user statisticsGET /api/users/:id- Get public user profileGET /api/users- Get all users (admin)
- Frontend: User selects file in form
- Frontend: File sent to backend via multipart/form-data
- Backend: Multer processes file upload
- Backend: File uploaded to Firebase Storage
- Backend: File metadata saved to MongoDB
- Backend: Public download URL returned
{
firebaseUid: String,
email: String,
displayName: String,
role: ['buyer', 'seller', 'admin'],
stats: {
projectsPurchased: Number,
projectsSold: Number,
totalSpent: Number,
totalEarned: Number
}
}{
title: String,
description: String,
price: Number,
file: {
url: String,
filename: String,
originalName: String
},
seller: ObjectId,
buyers: [{ user: ObjectId, purchasedAt: Date }],
status: ['pending', 'approved', 'rejected'],
category: String,
tags: [String]
}- Start both servers (backend on :5000, frontend on :5173)
- Register/Login using Firebase Auth
- Switch to seller role in user profile
- Create a project with file upload
- Switch to buyer role
- Purchase and download the project
SellerDashboardNew.tsx- Backend-integrated seller dashboardBuyerDashboardNew.tsx- Backend-integrated buyer dashboardprojectService.js- API service for projectsuserService.js- API service for users
The original components (SellerDashboard.tsx, BuyerDashboard.tsx) use direct Firebase calls. The new components (*New.tsx) use the backend API. You can gradually migrate by updating the route imports in App.tsx.
- Firebase token verification on all protected routes
- Role-based access control
- File type and size validation
- Input sanitization and validation
- CORS configuration
- Helmet security headers
- CORS errors: Check
FRONTEND_URLin backend.env - Auth errors: Verify JWT secret and MongoDB connection
- File upload errors: Check file size limits and storage permissions
- MongoDB errors: Ensure MongoDB Atlas connection string is correct
- Payment errors: Verify Razorpay API keys and webhook configuration
- Total Lines of Code: 50,000+
- Components: 100+ React components
- API Endpoints: 30+ RESTful endpoints
- Database Collections: 5 main collections
- Deployment: Production-ready on Vercel + Render
- Performance: 90+ Lighthouse score
We welcome contributions to ProjectBuzz! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add 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.
Aniruddha Gayki
- GitHub: @Aniruddha434
- Email: [email protected]
- LinkedIn: Connect with me
If you find ProjectBuzz helpful, please consider:
- β Starring the repository
- π Reporting bugs and issues
- π‘ Suggesting new features
- π€ Contributing to the codebase
- π’ Sharing with the developer community
Built with β€οΈ by Aniruddha Gayki | Β© 2025 ProjectBuzz. All rights reserved.
π Live Demo: https://projectbuzz.tech