Skip to content

sabasiddique1/rapid-api-hub

Repository files navigation

πŸš€ Rapid API Hub

Rapid API Hub Logo

A Modern API Discovery Platform

Discover, integrate, and manage APIs with ease

Next.js TypeScript Tailwind CSS Supabase

🌟 Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Issues β€’ ✨ Request Features


πŸ“– About The Project

Rapid API Hub is a modern, full-featured clone of the popular RapidAPI platform, built with cutting-edge technologies. This project demonstrates advanced web development techniques, including authentication, real-time data, responsive design, and modern UI/UX patterns.


πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15.2.4 - React framework with App Router
  • Language: TypeScript - Type-safe development
  • Styling: Tailwind CSS - Utility-first CSS framework
  • UI Components: Radix UI - Unstyled, accessible components
  • Icons: Lucide React - Beautiful & customizable icons
  • Fonts: Geist - Modern, readable typography

Backend & Authentication

  • Database: Supabase - Open source Firebase alternative
  • Authentication: Supabase Auth - Email/password and OAuth
  • Real-time: Supabase Realtime - Live data synchronization

Developer Experience

  • Type Safety: Full TypeScript coverage
  • Code Quality: ESLint + Prettier
  • Development: Hot reload with Turbopack
  • Deployment Ready: Optimized for Vercel

πŸš€ Quick Start

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18.0 or higher)
  • npm or pnpm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/rapid-api-hub.git
    cd rapid-api-hub
  2. Install dependencies

    npm install
    # or
    pnpm install
    # or
    yarn install
  3. Set up environment variables

    cp env.example .env.local

    Fill in your Supabase credentials:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Run the development server

    npm run dev
    # or
    pnpm dev
    # or
    yarn dev
  5. Open your browser

    Navigate to http://localhost:3000 to see the application.


πŸ”§ Configuration

Supabase Setup

  1. Create a Supabase account at supabase.com

  2. Create a new project

    • Choose your organization
    • Set project name and database password
    • Select your region
  3. Get your credentials

    • Go to Settings β†’ API
    • Copy your Project URL and anon public key
  4. Set up authentication

    • Enable email/password authentication
    • Configure redirect URLs for your domain

Environment Variables

Create a .env.local file in the root directory:

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

# Optional: Analytics
NEXT_PUBLIC_GA_ID=your-google-analytics-id

πŸ“ Project Structure

rapid-api-hub/
β”œβ”€β”€ πŸ“ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ πŸ“ login/             # Login page
β”‚   β”œβ”€β”€ πŸ“ signup/            # Registration page
β”‚   β”œβ”€β”€ πŸ“ categories/        # API categories
β”‚   β”œβ”€β”€ layout.tsx            # Root layout
β”‚   β”œβ”€β”€ page.tsx              # Homepage
β”‚   └── globals.css           # Global styles
β”œβ”€β”€ πŸ“ components/            # Reusable components
β”‚   β”œβ”€β”€ πŸ“ ui/               # UI primitives
β”‚   β”œβ”€β”€ header.tsx           # Navigation header
β”‚   β”œβ”€β”€ sidebar.tsx          # Navigation sidebar
β”‚   └── ...                  # Other components
β”œβ”€β”€ πŸ“ hooks/                # Custom React hooks
β”‚   β”œβ”€β”€ use-auth.tsx         # Authentication logic
β”‚   β”œβ”€β”€ use-loading.tsx      # Loading states
β”‚   └── use-toast.ts         # Toast notifications
β”œβ”€β”€ πŸ“ lib/                  # Utility functions
β”‚   β”œβ”€β”€ supabase.ts          # Supabase client
β”‚   └── utils.ts             # Helper functions
β”œβ”€β”€ πŸ“ public/               # Static assets
β”‚   β”œβ”€β”€ Rapid_Logo_Primary.png
β”‚   β”œβ”€β”€ favicon.ico
β”‚   └── manifest.json
└── πŸ“„ Configuration files

🎨 Design System

Color Palette

  • Primary: #0056E0 - Rapid Blue
  • Secondary: #6B7280 - Cool Gray
  • Success: #10B981 - Emerald
  • Warning: #F59E0B - Amber
  • Error: #EF4444 - Red

Typography

  • Primary Font: Geist Sans
  • Monospace: Geist Mono
  • Scale: Tailwind's default type scale

Components

  • Built with Radix UI primitives
  • Styled with Tailwind CSS
  • Dark mode support throughout
  • Accessibility features included

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy - Vercel will automatically build and deploy

Manual Deployment

  1. Build the application

    npm run build
  2. Start the production server

    npm start

Docker

FROM node:18-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

FROM node:18-alpine AS builder
WORKDIR /app
COPY . .
COPY --from=deps /app/node_modules ./node_modules
RUN npm run build

FROM node:18-alpine AS runner
WORKDIR /app
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json

EXPOSE 3000
CMD ["npm", "start"]

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“ž Contact & Support

Built with ❀️ by Saba Siddique

🌐 Portfolio


Show your support

⭐ Star this repository if you find it helpful!


"The best way to learn is by building."

Releases

No releases published

Packages

No packages published