A modern, minimalist API client built with Electron, React, and TypeScript. Designed for developers who need a powerful yet simple tool for testing and debugging APIs.
- HTTP Methods Support: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
- Request Builder: Intuitive interface for constructing API requests
- Response Viewer: Beautiful, syntax-highlighted response display
- Request History: Automatic saving and organization of requests
- Collections: Organize your API requests into collections
- Modern Design: Clean, dark-themed interface with smooth animations
- Tabbed Interface: Work with multiple requests simultaneously
- Collapsible Sections: Organized request/response details
- Syntax Highlighting: JSON, XML, YAML, and JavaScript support
- Responsive Layout: Optimized for different screen sizes
- CodeMirror Editor: Advanced code editing with syntax highlighting
- Parameter Management: Query parameters, headers, and authentication
- Body Types: Support for Text, JSON, XML, Form Data, and File uploads
- Authentication: Basic Auth, Bearer Token, and API Key support
- Environment Variables: Manage different environments and variables
- Auto-save: Automatic saving of all changes
- SQLite Database: Local storage for requests and collections
- Import/Export: Backup and share your API collections
- Search & Filter: Quickly find requests in your collections
- React 19 - Modern React with hooks and concurrent features
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component library
- CodeMirror 6 - Advanced code editor
- Zustand - Lightweight state management
- React Query - Data fetching and caching
- Electron - Cross-platform desktop application framework
- Node.js - JavaScript runtime
- SQLite - Local database for data persistence
- Axios - HTTP client for API requests
- Vite - Fast build tool and development server
- ESLint - Code linting
- Prettier - Code formatting
- Electron Builder - Application packaging
- Node.js 18+ and npm or pnpm
- Git
-
Clone the repository
git clone https://github.com/M-Skilla/fluxapi.git cd fluxapi
-
Install dependencies
pnpm install
-
Start development mode
pnpm dev
-
Build for production
# Windows pnpm build:win # macOS pnpm build:mac # Linux pnpm build:linux
fluxapi/
βββ src/
β βββ main/ # Electron main process
β β βββ index.ts # Main application entry
β β βββ db.ts # Database operations
β βββ preload/ # Electron preload scripts
β βββ renderer/ # React frontend
β βββ src/
β β βββ components/ # React components
β β βββ lib/ # Utilities and stores
β β βββ pages/ # Application pages
β β βββ stores/ # Zustand stores
β βββ index.html # Main HTML template
βββ build/ # Build resources
βββ resources/ # Application icons
βββ package.json # Project configuration
- Launch FluxAPI
- Create a new request by clicking the "+" button
- Enter your API endpoint in the URL field
- Select HTTP method from the dropdown
- Add headers, parameters, or body as needed
- Click "Send" to execute the request
- View the response in the response panel
# Development
pnpm dev # Start development server
pnpm start # Preview production build
# Building
pnpm build # Type check and build
pnpm build:win # Build for Windows
pnpm build:mac # Build for macOS
pnpm build:linux # Build for Linux
# Code Quality
pnpm lint # Run ESLint
pnpm format # Format code with Prettier
pnpm typecheck # Run TypeScript type checking
-
Install dependencies
pnpm install
-
Start development
pnpm dev
-
Open in your editor and start coding!
- Main Process: Handles Electron window management and IPC
- Renderer Process: React application with UI components
- Database Layer: SQLite with DAO pattern
- State Management: Zustand for client state, React Query for server state
We welcome contributions! Please follow these steps:
-
Fork the repository
-
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
-
Run tests and linting
pnpm lint pnpm typecheck
-
Commit your changes
git commit -m 'Add amazing feature'
-
Push to the branch
git push origin feature/amazing-feature
-
Open a Pull Request
- Create a collection from the sidebar
- Add requests to your collection
- Organize related APIs together
- Export/import collections for sharing
- Authentication: Set up auth in the Auth tab
- Environment Variables: Manage different environments
- Request History: Access previous requests
- Code Generation: Copy requests as cURL commands
This project is licensed under the MIT License - see the LICENSE file for details.
- Electron Team for the amazing desktop framework
- React Team for the powerful UI library
- CodeMirror for the excellent code editor
- ShadCN UI for the accessible component library
- Tailwind CSS for the utility-first CSS framework
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: For business inquiries
- Initial beta release
- Core API client functionality
- Request/response handling
- Collections and organization
- Modern UI with dark theme
- SQLite database integration
Made with β€οΈ by Skilla