A full-stack freelance marketplace MVP featuring real-time chat, bidding system, milestone payments, and escrow simulation.
| 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) |
NomadHire/
├── frontend/ # SvelteKit application
├── backend/ # Rails API application
├── docs/ # Documentation
├── .env.example # Template for env variables
└── README.md # This file
git clone <repository-url>
cd NomadHire
Navigate to the backend directory:
cd backend
Install Dependencies:
bundle install
Setup Database:
Ensure PostgreSQL is running and you have a user (default: postgres) with password.
Copy the environment file:
cp env.template .env
# OR on Windows PowerShell:
# Copy-Item env.template .env
Edit .env:
DATABASE_URL or POSTGRES_PASSWORD to match your local setup.POSTGRES_PASSWORD=your_passwordCreate, 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.
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.
The database is seeded with these accounts (password: password123 for all):
| Role | |
|---|---|
| Admin | [email protected] |
| Client | [email protected] |
| Freelancer | [email protected] |
| 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 |
If you get errors about psql or pg_config not being found:
Find your PostgreSQL bin directory (e.g., C:\Program Files\PostgreSQL\18\bin).
Add it to your System PATH environment variable.
Or run in PowerShell:
$env:PATH = "C:\Program Files\PostgreSQL\18\bin;$env:PATH"
Ensure your .env or config/database.yml has the correct host: localhost and username/password matching your local PostgreSQL installation.
MIT License