Skip to content

charsree/requester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requester - Modern API Testing Tool

A modern, self-hosted API testing tool built with React and Flask. Clean UI, powerful features, zero cloud dependencies.

License Python React

Quick Start

# Clone the repository
git clone https://github.com/charsree/requester.git
cd requester

# Install dependencies
pip3 install -r requirements.txt

# Run the app
python3 app.py

# Open browser at http://localhost:5000

That's it! The frontend is pre-built and ready to use.

Features

Core Functionality

  • HTTP Methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
  • Request Builder: URL, headers, body editor with Monaco Editor
  • Authentication: Bearer, Basic, OAuth 1/2, AWS Sig V4, Digest, NTLM, Hawk, JWT, API Key
  • Response Viewer: JSON/HTML/XML with syntax highlighting
  • Collections: Save and organize requests
  • Environments: Multiple environments with {{variable}} syntax
  • History: Automatic tracking with status filter (2xx, 4xx/5xx)
  • Dark/Light Theme: Toggle between themes
  • Keyboard Shortcuts: Ctrl+Enter to send, Ctrl+S to save

Advanced Features

  • Code Generation: Export as cURL, Python, JavaScript
  • Request Templates: Pre-built templates
  • Search & Filter: Find collections and history
  • Statistics: Success rate, response times
  • Clear Database: Reset all data from settings

Tech Stack

Backend:

  • Python 3.8+ with Flask
  • SQLite database
  • Requests library for HTTP

Frontend:

  • React 18.2+ with TypeScript
  • Vite build tool
  • Radix UI components
  • Tailwind CSS
  • Monaco Editor
  • Zustand state management

Deployment

Local

python3 app.py

Docker

docker-compose up

Production

Use a WSGI server like Gunicorn:

pip3 install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

Database

Uses SQLite (requester.db) - no setup required. Stores:

  • Collections
  • Environments
  • Request history

Development

To modify the frontend:

cd frontend
npm install
npm run dev  # Development server
npm run build  # Build to ../static

Requirements

  • Python 3.8+
  • pip3

That's all! No Node.js needed for deployment (frontend is pre-built).

File Structure

requester/
├── app.py              # Flask backend
├── requirements.txt    # Python dependencies
├── requester.db        # SQLite database (auto-created)
├── static/             # Pre-built frontend (ready to use)
├── frontend/           # Frontend source (for development)
├── Dockerfile          # Docker configuration
└── README.md           # This file

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Feel free to open issues or submit pull requests.

Author

Built by charsree

Notes

  • Single user (no authentication)
  • SQLite database (suitable for personal use)
  • For multi-user, consider adding authentication and PostgreSQL

About

Self hosted API testing tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published