A modern full-stack freelancer marketplace application built with React, Node.js, Express, and MongoDB Atlas.
- Modern Design: Beautiful, responsive landing page with gradient animations
- Interactive Demo: Live preview of client and freelancer workflows
- Social Proof: Company logos, user testimonials, and live activity feed
- Animated Elements: Counters, typing animations, and smooth transitions
- Pricing Information: Transparent pricing tiers for all user types
- Newsletter Signup: Stay updated with platform news and opportunities
- FAQ Section: Comprehensive answers to common questions
- Mobile Optimized: Perfect experience across all devices
- User Authentication: Secure login/register with JWT tokens
- Profile Management: Create comprehensive professional profiles
- Service Search & Filtering: Advanced search with multiple criteria
- Smart Matching: Recommendations based on skills and requirements
- Application System: Apply for services with personal information form (no resume required)
- Application Tracking: Monitor status and history of applications
- Real-time Updates: Live notifications and data synchronization
- Professional Registration: Create detailed freelancer profiles
- Service Management: Post, edit, delete, and manage service listings
- Client Management: View and manage service applications
- Application Review: Review client information and requirements
- Business Workflow: Streamlined client acquisition process
- Analytics Dashboard: Track service metrics and performance
- Portfolio Showcase: Display skills, experience, and contact information
- Responsive Design: Works perfectly on desktop and mobile devices
- Real-time Updates: Live data synchronization with MongoDB Atlas
- Secure Authentication: JWT-based authentication system
- Form-based Applications: Streamlined application process without file uploads
- RESTful API: Well-structured backend API endpoints
- Database Migration: Clean transition from Jobs to Services model
- Frontend: React, Vite, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB Atlas with Change Streams
- Authentication: JWT tokens
- Real-time: MongoDB Change Streams for live updates
- Testing: Comprehensive test suites for all functionality
- Node.js: v16 or higher
- NPM: v8 or higher
- Internet Connection: Required for shared MongoDB Atlas database
git clone https://github.com/bishnu9798/INFINITY-CODERS-R1-CIH-2.0.git
cd INFINITY-CODERS-R1-CIH-2.0# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ..
npm install# Double-click this file:
start-infinity-workspace.bat# Terminal 1 - Backend
cd backend
npm start
# Terminal 2 - Frontend
cd ..
npm run devnpm run start:fullNo environment setup needed! The application uses a shared development database that's already configured.
- Wait 10-15 seconds for servers to fully start
- Check health: Double-click
check-infinity-workspace.bat - Refresh browser - the frontend might be on a different port
- Restart if needed:
stop-infinity-workspace.batthenstart-infinity-workspace.bat
- Frontend: http://localhost:5173/
- Backend API: http://localhost:3002/api
- Health Check: http://localhost:3002/api/health
- Database Status: http://localhost:3002/api/stats
This project uses a shared MongoDB Atlas database for collaborative development. All users who clone this repository will:
- β Connect to the same database automatically
- β See real-time data from all developers
- β Share services, applications, and user accounts
- β Experience true collaborative development
-
Register as Freelancer:
- Go to http://localhost:5173/
- Click "Register" and select "Recruiter" (Service Provider)
- Fill in your details and company information
- Note: You'll see services from other developers too!
-
Register as Client:
- Click "Register" and select "Job Seeker" (Client)
- Fill in your personal information
- Note: You can apply to services posted by any developer
-
Post Your First Service:
- Login as freelancer
- Go to "Post New Service" tab
- Fill in service details with contact information
- Note: Your service will be visible to all other developers
-
Apply for Services:
- Login as client
- Browse available services (from all developers)
- Click "Apply Now" and fill the application form
- Note: Applications are shared across the development team
start-freelancer-market-place.bat # Windows batch file
# OR
npm run start:full # NPM scriptstop-freelancer-market-place.bat # Windows batch file
# OR
npm run stop # NPM scriptcheck-system.bat # Windows batch file
# OR
npm run check # NPM script- Node.js: v16 or higher
- NPM: v8 or higher
- Internet: For MongoDB Atlas connection
- Ports: 3002 (backend), 5173 (frontend)
-
"Network Error" or "Login Failed"
- Run
check-system.batto diagnose - Ensure both servers are running
- Check if ports 3002 and 5173 are available
- Run
-
"Port already in use"
- Run
stop-freelancer-market-place.batfirst - Wait 5 seconds, then start again
- Run
-
"Cannot connect to MongoDB"
- Check internet connection
- Verify MongoDB Atlas credentials in backend/.env
-
Frontend not loading
- Clear browser cache (Ctrl+F5)
- Try different browser
- Check if port 5173 is blocked by firewall
-
Check System Status:
check-system.bat
-
View Logs:
- Backend logs appear in backend terminal
- Frontend logs appear in frontend terminal
- Browser console (F12) for frontend errors
-
Restart Everything:
stop-freelancer-market-place.bat start-freelancer-market-place.bat
freelancer-market-place/
βββ backend/ # Backend server
β βββ models/ # MongoDB models
β βββ routes/ # API routes
β βββ database/ # Database connection
β βββ uploads/ # Resume uploads
β βββ .env # Environment variables
β βββ server.js # Main server file
βββ src/ # Frontend source
β βββ components/ # React components
β β βββ LandingPage.jsx # Main landing page
β β βββ AnimatedCounter.jsx # Animated statistics
β β βββ FeatureCard.jsx # Interactive feature cards
β β βββ TypingAnimation.jsx # Dynamic typing effect
β β βββ InteractiveDemo.jsx # Live platform demo
β β βββ SocialProof.jsx # Company logos & testimonials
β β βββ LiveActivityFeed.jsx # Real-time activity updates
β β βββ NewsletterSignup.jsx # Email subscription
β β βββ FloatingActionButton.jsx # Quick access menu
β β βββ ScrollToTop.jsx # Smooth scroll to top
β β βββ landing-page.css # Custom animations
β βββ services/ # API services
β βββ App.jsx # Main app component
βββ start-freelancer-market-place.bat # Start script
βββ stop-freelancer-market-place.bat # Stop script
βββ check-system.bat # Health check
βββ README.md # This file
The landing page is built with modular, reusable components:
- LandingPage.jsx: Main landing page container with all sections
- AnimatedCounter.jsx: Smooth counting animations for statistics
- TypingAnimation.jsx: Dynamic typing effect for hero section
- FeatureCard.jsx: Interactive cards with hover effects and animations
- InteractiveDemo.jsx: Live demo showing job seeker and recruiter workflows
- SocialProof.jsx: Company logos, user avatars, and trust indicators
- LiveActivityFeed.jsx: Real-time activity updates with smooth animations
- NewsletterSignup.jsx: Email subscription with success states
- FloatingActionButton.jsx: Quick access menu for key actions
- ScrollToTop.jsx: Smooth scroll to top functionality
- landing-page.css: Custom CSS animations and responsive design
Backend environment variables (backend/.env):
# MongoDB Connection
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/jobportal
# Server Configuration
PORT=3002
NODE_ENV=development
# JWT Secret
JWT_SECRET=your-secret-keyPOST /api/auth/login- User loginPOST /api/auth/register- User registration
GET /api/jobs- Get all jobsPOST /api/jobs- Create job (recruiter only)PUT /api/jobs/:id- Update jobDELETE /api/jobs/:id- Delete jobGET /api/jobs/recruiter/my-jobs- Get recruiter's jobs
POST /api/applications- Apply for jobGET /api/applications/my-applications- Get user's applicationsGET /api/applications/recruiter/all- Get recruiter's applicationsPUT /api/applications/:id/status- Update application status
GET /api/users/profile- Get user profilePUT /api/users/profile- Update user profileGET /api/users/stats- Get user statistics
If everything is working correctly, you should see:
- β Frontend running on http://localhost:5173/
- β Backend running on http://localhost:3002/
- β MongoDB connected and operational
- β Authentication working
- β Job posting and application features working
If you encounter any issues:
- Run the health check:
check-system.bat - Check the troubleshooting section above
- Restart the system:
stop-freelancer-market-place.batthenstart-freelancer-market-place.bat
Happy Job Hunting! π―