A Modern API Discovery Platform
Discover, integrate, and manage APIs with ease
π Live Demo β’ π Documentation β’ π Report Issues β’ β¨ Request Features
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.
- 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
- Database: Supabase - Open source Firebase alternative
- Authentication: Supabase Auth - Email/password and OAuth
- Real-time: Supabase Realtime - Live data synchronization
- Type Safety: Full TypeScript coverage
- Code Quality: ESLint + Prettier
- Development: Hot reload with Turbopack
- Deployment Ready: Optimized for Vercel
Before you begin, ensure you have the following installed:
- Node.js (v18.0 or higher)
- npm or pnpm or yarn
- Git
-
Clone the repository
git clone https://github.com/yourusername/rapid-api-hub.git cd rapid-api-hub -
Install dependencies
npm install # or pnpm install # or yarn install
-
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
-
Run the development server
npm run dev # or pnpm dev # or yarn dev
-
Open your browser
Navigate to http://localhost:3000 to see the application.
-
Create a Supabase account at supabase.com
-
Create a new project
- Choose your organization
- Set project name and database password
- Select your region
-
Get your credentials
- Go to Settings β API
- Copy your Project URL and anon public key
-
Set up authentication
- Enable email/password authentication
- Configure redirect URLs for your domain
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-idrapid-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
- Primary:
#0056E0- Rapid Blue - Secondary:
#6B7280- Cool Gray - Success:
#10B981- Emerald - Warning:
#F59E0B- Amber - Error:
#EF4444- Red
- Primary Font: Geist Sans
- Monospace: Geist Mono
- Scale: Tailwind's default type scale
- Built with Radix UI primitives
- Styled with Tailwind CSS
- Dark mode support throughout
- Accessibility features included
- Connect your repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy - Vercel will automatically build and deploy
-
Build the application
npm run build
-
Start the production server
npm start
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"]This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by Saba Siddique
β Star this repository if you find it helpful!
"The best way to learn is by building."