YoedzKey is a simple, yet powerful and highly customizable REST API foundation. Built with Express.js, it provides developers with a solid starting point to create their own API services with minimal setup and maximum flexibility.
- Simple & Lightweight: Easy to understand codebase with minimal dependencies
- Auto-Discovery: Automatic endpoint registration
- Dynamic Module Loading: Hot-reload capability for API modules
- Well-Organized Structure: Category-based endpoint organization
- Scraper Integration: Ready-to-use scraper module for web data extraction
- Network Ready: Automatic detection of network interfaces for easier testing
- Node.js (v18 or higher)
- NPM or Yarn
- Clone the repository:
git clone https://github.com/rynxzyy/Hiuraa-API-Base.git
cd Hiuraa-API-Base
- Install dependencies:
npm install
- Modify the
settings.js
file:
module.exports = {
module.exports = {
name: {
main: 'YoedzXy Api',
copyright: 'YoedzXy Api Xion'
},
description: 'Integrated API solution for your modern application development needs. Fast, secure, and reliable access.',
icon: '/image/icon.png',
author: 'Yudz',
info_url: 'https://whatsapp.com/channel/0029Vb0v3F71yT264EejzJ3e',
links: [
{
name: 'Channel WhatsApp Inf.',
url: 'https://whatsapp.com/channel/0029Vb0v3F71yT264EejzJ3e'
}
]
};
- Start the server:
npm start
Visit http://localhost:4000
to see your API in action!
You can easily deploy your Hiuraa API to Vercel:
- Click the deploy button below:
- Follow the on-screen instructions
- Configure environment variables if needed
- Deploy!
Creating new endpoints is simple. Just add a JavaScript file to the api
directory:
module.exports = {
name: "Hello World",
desc: "Returns a friendly greeting",
category: "Greetings",
params: ["name"],
async run(req, res) {
const name = req.query.name || "World";
res.json({
status: true,
message: `Hello, ${name}!`
});
}
};
This automatically creates an endpoint at /greetings/hello-world
with proper documentation.
The system will automatically:
- Discover and register all
.js
files in theapi
directory and subdirectories - Generate documentation based on module properties
- Organize endpoints by categories
- Display URLs with required parameters
A built-in scraper system that:
- Auto-loads from the
lib/scrape_file
directory - Hot-reloads on changes (every 2 seconds)
- Provides a global
scraper
object
MIT License - Feel free to use and modify according to your needs.
Created by Yoedz. Feel free to contribute, report issues, or suggest improvements!