ayan-framework
v1.0.0
Published
a simple node js framework
Readme
🌀 Ayan.js
A lightweight Node.js framework for building HTTP servers with routing and middleware — inspired by Express, built from scratch.
🚀 Overview
Ayan.js is a minimal yet powerful framework that simplifies building RESTful APIs using Node.js’ native http module. It provides a simple way to define routes, handle GET and POST requests, and use middleware for data parsing and request handling — all without any external dependencies.
✨ Features
🛣️ Easy route handling (GET, POST)
🧩 Middleware support (use())
📦 Built-in JSON body parser (parse())
⚡ Lightweight (no dependencies)
🔧 Simple API inspired by Express.js
📦 Installation
You can clone or copy the Ayan.js class into your project:
git clone https://github.com/AyanX/ayan-framework.git
Then in your project:
const Ayan = require("./Ayan");
💻 Example Usage const Ayan = require("./Ayan"); const app = new Ayan();
// Middleware for logging requests
app.use((req, res, next) => {
console.log(${req.method} ${req.url});
next();
});
// Built-in JSON parser app.use(app.parse());
// GET route app.get("/", (req, res) => { res.end("Welcome to Ayan.js Framework 🚀"); });
// POST route app.post("/data", (req, res) => { res.setHeader("Content-Type", "application/json"); res.end(JSON.stringify({ received: req.body })); });
// Start server app.listen(3000, () => console.log("Server running on http://localhost:3000"));
⚙️ API Reference app.get(path, ...callbacks)
Registers one or more handlers for a GET route.
app.post(path, ...callbacks)
Registers one or more handlers for a POST route.
app.use(middleware)
Adds a middleware function to be executed before route handlers.
app.parse()
Returns a middleware that parses incoming JSON data and attaches it to req.body.
app.listen(port, callback)
Starts the HTTP server on the specified port.
🧠 Example Middleware app.use((req, res, next) => { console.log("Custom middleware executed!"); next(); });
🧩 Folder Structure project/ ├── Ayan.js └── server.js
🛠️ Requirements
Node.js v14 or higher
📄 License
MIT License © 2025 Shadrack Mwangi
