Skip to content

anish-dev09/FREELANCE-WEB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INFINITY-CODERS-R1-CIH-2.0

CENTRAL INDIA HACKATHON 2.0

πŸš€ Freelancer Marketplace Application

A modern full-stack freelancer marketplace application built with React, Node.js, Express, and MongoDB Atlas.

🌟 Features

🎯 Landing Page Experience

  • 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

πŸ‘¨β€πŸ’» For Clients (Job Seekers)

  • 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

πŸ‘” For Freelancers (Service Providers)

  • 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

πŸ”§ Technical Features

  • 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

πŸ”§ Tech Stack

  • 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

πŸš€ Quick Start

Prerequisites

  • Node.js: v16 or higher
  • NPM: v8 or higher
  • Internet Connection: Required for shared MongoDB Atlas database

Step 1: Clone Repository

git clone https://github.com/bishnu9798/INFINITY-CODERS-R1-CIH-2.0.git
cd INFINITY-CODERS-R1-CIH-2.0

Step 2: Install Dependencies

# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ..
npm install

Step 3: Start Application

Option 1: One-Click Start (Recommended)

# Double-click this file:
start-infinity-workspace.bat

Option 2: Manual Start

# Terminal 1 - Backend
cd backend
npm start

# Terminal 2 - Frontend
cd ..
npm run dev

Option 3: Simultaneous Start

npm run start:full

πŸŽ‰ That's It!

No environment setup needed! The application uses a shared development database that's already configured.

πŸ” If You See "Network Error"

  1. Wait 10-15 seconds for servers to fully start
  2. Check health: Double-click check-infinity-workspace.bat
  3. Refresh browser - the frontend might be on a different port
  4. Restart if needed: stop-infinity-workspace.bat then start-infinity-workspace.bat

🌐 Access URLs

πŸ”‘ Getting Started

🌐 Shared Development Environment

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

Create Your Accounts

  1. 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!
  2. 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
  3. 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
  4. 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

πŸ› οΈ Management Scripts

Start System

start-freelancer-market-place.bat    # Windows batch file
# OR
npm run start:full      # NPM script

Stop System

stop-freelancer-market-place.bat     # Windows batch file
# OR
npm run stop           # NPM script

Check System Health

check-system.bat       # Windows batch file
# OR
npm run check         # NPM script

πŸ“‹ System Requirements

  • Node.js: v16 or higher
  • NPM: v8 or higher
  • Internet: For MongoDB Atlas connection
  • Ports: 3002 (backend), 5173 (frontend)

πŸ” Troubleshooting

Common Issues

  1. "Network Error" or "Login Failed"

    • Run check-system.bat to diagnose
    • Ensure both servers are running
    • Check if ports 3002 and 5173 are available
  2. "Port already in use"

    • Run stop-freelancer-market-place.bat first
    • Wait 5 seconds, then start again
  3. "Cannot connect to MongoDB"

    • Check internet connection
    • Verify MongoDB Atlas credentials in backend/.env
  4. Frontend not loading

    • Clear browser cache (Ctrl+F5)
    • Try different browser
    • Check if port 5173 is blocked by firewall

Debug Steps

  1. Check System Status:

    check-system.bat
  2. View Logs:

    • Backend logs appear in backend terminal
    • Frontend logs appear in frontend terminal
    • Browser console (F12) for frontend errors
  3. Restart Everything:

    stop-freelancer-market-place.bat
    start-freelancer-market-place.bat

πŸ“ Project Structure

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

🎨 Landing Page Components

The landing page is built with modular, reusable components:

Core 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

Interactive Elements

  • 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

Navigation & UX

  • FloatingActionButton.jsx: Quick access menu for key actions
  • ScrollToTop.jsx: Smooth scroll to top functionality
  • landing-page.css: Custom CSS animations and responsive design

πŸ” Environment Variables

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-key

🎯 API Endpoints

Authentication

  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration

Jobs

  • GET /api/jobs - Get all jobs
  • POST /api/jobs - Create job (recruiter only)
  • PUT /api/jobs/:id - Update job
  • DELETE /api/jobs/:id - Delete job
  • GET /api/jobs/recruiter/my-jobs - Get recruiter's jobs

Applications

  • POST /api/applications - Apply for job
  • GET /api/applications/my-applications - Get user's applications
  • GET /api/applications/recruiter/all - Get recruiter's applications
  • PUT /api/applications/:id/status - Update application status

Users

  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile
  • GET /api/users/stats - Get user statistics

πŸŽ‰ Success!

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

πŸ“ž Support

If you encounter any issues:

  1. Run the health check: check-system.bat
  2. Check the troubleshooting section above
  3. Restart the system: stop-freelancer-market-place.bat then start-freelancer-market-place.bat

Happy Job Hunting! 🎯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages