HTTPHub is a modern, cross-platform API testing tool built with React Native and Node.js. It provides developers with a powerful yet intuitive interface to test, organize, and manage API requests across multiple platforms including mobile, web, and desktop.
- JWT-based authentication with secure token management
- User registration and login with encrypted password storage
- Protected API endpoints with middleware-based authorization
- Session management with persistent login states
- React Native mobile app (iOS & Android)
- Expo framework for seamless development and deployment
- Responsive design optimized for mobile and tablet
- Native performance with platform-specific optimizations
- Organize API requests into logical collections
- Hierarchical structure for better project organization
- CRUD operations for collections and requests
- User-specific collections with privacy controls
- Multiple HTTP methods (GET, POST, PUT, DELETE, PATCH)
- Custom headers with toggle controls
- Request body support for various content types
- Response visualization and status tracking
- Environment variables support (coming soon)
- Tailwind CSS styling with NativeWind integration
- Intuitive navigation using Expo Router
- Responsive layouts for all screen sizes
- Dark/Light theme support (planned)
- Accessibility features for inclusive design
backend/
├── src/
│ ├── controllers/ # Business logic handlers
│ ├── models/ # MongoDB schemas
│ ├── routes/ # API endpoint definitions
│ ├── middleware/ # Authentication & validation
│ ├── utils/ # Helper functions
│ ├── config.ts # Environment configuration
│ └── server.ts # Express server setup
├── package.json
└── tsconfig.json
http-hub/
├── app/ # Expo Router pages
│ ├── (auth)/ # Authentication screens
│ ├── (home)/ # Main dashboard
│ ├── collections/ # Collection management
│ └── _layout.tsx # Root layout
├── contexts/ # React Context providers
├── types/ # TypeScript definitions
├── assets/ # Images and icons
└── package.json
- Node.js 18.x or higher
- npm or yarn package manager
- MongoDB 7.0 or higher
- Expo CLI (for mobile development)
- Android Studio / Xcode (for native builds)
git clone https://github.com/w3bpiyush/HTTPHub.git
cd HTTPHub
cd backend
npm install
# Create environment file
cp .env.example .env
# Configure your environment variables
MONGO_URI=mongodb://localhost:27017/httphub
JWT_SECRET=your_super_secret_jwt_key
PORT=3000
# Start development server
npm run dev
cd ../http-hub
npm install
# Start Expo development server
npm start
# Install Expo Go app on your device
# Scan QR code from terminal
# Or run on specific platform
npm run android # Android
npm run ios # iOS
npm run web # Web browser
# Backend (.env)
MONGO_URI=mongodb://localhost:27017/httphub
JWT_SECRET=your_jwt_secret_key
PORT=3000
NODE_ENV=development
# Frontend (app.config.js)
EXPO_PUBLIC_API_URL=http://localhost:3000/api
Method | Endpoint | Description |
---|---|---|
POST |
/api/auth/register |
User registration |
POST |
/api/auth/login |
User authentication |
Method | Endpoint | Description |
---|---|---|
POST |
/api/collections |
Create collection |
GET |
/api/collections/user/:userId |
Get user collections |
PATCH |
/api/collections/:id |
Update collection |
DELETE |
/api/collections/:id |
Delete collection |
Method | Endpoint | Description |
---|---|---|
POST |
/api/requests |
Create API request |
GET |
/api/requests/:id |
Get request details |
PATCH |
/api/requests/:id |
Update request |
DELETE |
/api/requests/:id |
Delete request |
npm run dev # Start development server with hot reload
npm run build # Build TypeScript to JavaScript
npm start # Start production server
npm run test # Run test suite (when implemented)
npm start # Start Expo development server
npm run android # Run on Android emulator/device
npm run ios # Run on iOS simulator/device
npm run web # Run in web browser
npm run build # Build for production
- TypeScript for type safety
- ESLint for code linting (recommended)
- Prettier for code formatting (recommended)
- Husky for git hooks (recommended)
- Express.js - Web framework
- Mongoose - MongoDB ODM
- JWT - Authentication tokens
- bcrypt - Password hashing
- CORS - Cross-origin resource sharing
- React Native - Mobile framework
- Expo - Development platform
- Expo Router - Navigation solution
- NativeWind - Tailwind CSS for React Native
- AsyncStorage - Local data persistence
# Build the application
npm run build
# Start production server
npm start
# Environment variables
NODE_ENV=production
PORT=3000
MONGO_URI=your_production_mongodb_uri
JWT_SECRET=your_production_jwt_secret
# Build for production
npm run build
# Deploy to Expo
expo publish
# Or build standalone apps
expo build:android
expo build:ios
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Follow the existing code style
- Environment variables support
- Request history and analytics
- Import/Export functionality
This project is licensed under the MIT License - see the LICENSE file for details.
HTTPHub is developed and maintained by Nexora Technology
- Lead Developer: Piyush Manna
- Company: Nexora Technology
- Location: India 🇮🇳
- GitHub Issues: Create an issue
- Email: nexora.contacts@gmail.com
- Documentation: Project Wiki
- Expo team for the amazing development platform
- React Native community for continuous improvements
- MongoDB for the robust database solution
- Express.js team for the lightweight web framework