NomadHire Svelte Themes

Nomadhire

NomadHire – Freelancers Without Borders is a freelance marketplace with bidding, milestones, and real-time chat. Built using Svelte, Tailwind, and GSAP for rich UI animations. Backend is powered by Ruby on Rails on Azure App Service with PostgreSQL. Supports Razorpay and Stripe for secure global payments.

NomadHire — Freelancers Without Borders

A full-stack freelance marketplace MVP featuring real-time chat, bidding system, milestone payments, and escrow simulation.

🚀 Tech Stack

Layer Technology
Frontend SvelteKit, Tailwind CSS
Backend Ruby on Rails 8.1 (API mode)
Database PostgreSQL 18.x (Works with 14+)
Package Manager npm
Real-time ActionCable (WebSockets)
Auth Devise + devise-jwt (JWT tokens)
Background Jobs Sidekiq (Redis)
Payments Stripe + Razorpay (test/sandbox mode)
File Storage ActiveStorage (Local/S3)

📁 Project Structure

NomadHire/
├── frontend/          # SvelteKit application
├── backend/           # Rails API application
├── docs/              # Documentation
├── .env.example       # Template for env variables
└── README.md          # This file

🛠️ Prerequisites

  • Ruby: 3.3.10+
  • Rails: 8.1.1+
  • Node.js: 18+
  • PostgreSQL: 14+ (18.1 recommended)

🏃 Quick Start

1. Clone and Setup Environment

git clone <repository-url>
cd NomadHire

2. Backend Setup (Rails API)

Navigate to the backend directory:

cd backend

Install Dependencies:

bundle install

Setup Database:

  1. Ensure PostgreSQL is running and you have a user (default: postgres) with password.

  2. Copy the environment file:

    cp env.template .env
    # OR on Windows PowerShell:
    # Copy-Item env.template .env
    
  3. Edit .env:

    • Set DATABASE_URL or POSTGRES_PASSWORD to match your local setup.
    • Example: POSTGRES_PASSWORD=your_password
  4. Create, Migrate, and Seed:

    bundle exec rails db:create db:migrate db:seed
    

Start the Server:

Option A: Windows Helper Script (Recommended) If you are running from the backend folder:

./start_backend.ps1

Option B: Manual Start

bundle exec rails s -p 3001

The API will be available at http://localhost:3001.

3. Frontend Setup (SvelteKit)

Open a new terminal and navigate to the frontend directory:

cd frontend

Install Dependencies:

npm install

Start the Development Server:

npm run dev

The frontend will be available at http://localhost:5173.

🧪 Test Accounts

The database is seeded with these accounts (password: password123 for all):

Role Email
Admin [email protected]
Client [email protected]
Freelancer [email protected]

💳 Test Payment Cards

Provider Card Number Expiry CVV
Stripe 4242 4242 4242 4242 Any future Any 3 digits
Razorpay 4111 1111 1111 1111 Any future Any 3 digits

❗ Troubleshooting

Windows: PostgreSQL "psql not found"

If you get errors about psql or pg_config not being found:

  1. Find your PostgreSQL bin directory (e.g., C:\Program Files\PostgreSQL\18\bin).

  2. Add it to your System PATH environment variable.

  3. Or run in PowerShell:

    $env:PATH = "C:\Program Files\PostgreSQL\18\bin;$env:PATH"
    

Windows: Backend "Connection Refused"

Ensure your .env or config/database.yml has the correct host: localhost and username/password matching your local PostgreSQL installation.

📝 License

MIT License

Top categories

Loading Svelte Themes