Arch-Rest is a lightweight and flexible RESTful API framework built with TypeScript. It allows developers to create endpoints and routers easily using classes and methods, and it provides a simple and intuitive API for handling HTTP requests and responses.
Note:
Arch-Rest is still in development and is not yet ready for production use.
It is made by an amateur developer and is not yet stable. Use at your own risk.
I started this project to learn more how a rest api framework works
and how to build one from scratch (Learn by Doing).
i will be happy if you can contribute to this project(
Optimizations, Bug Fixes, Documentation, etc.
or if you have any suggestions or ideas to improve this project,
please feel free to open an issue
).
The documentation is not yet complete and will be updated soon
(the current documentation is just a draft made by chatGPT).
To get started with Arch-Rest, simply install it using npm:
npm install arch-rest
Then, import the Arch
class and create a new instance of it:
import { Arch } from 'arch-rest';
Then, you can start building your RESTful API by creating an instance of the Arch
class and adding routers and endpoints to it. Here's an example:
import { Arch } from "arch-rest";
const app = new Arch();
app.router(myRouter);
app.port(3000).start();
In this example, we created an instance of the Arch
class, added a router named myRouter
, set the port to 3000
, and started the server.*
To create an endpoint in Arch-Rest, you can extend the ArchEndpoint
class and implement the handle
method. Here's an example:
import { ArchEndpoint, ArchMethod, ArchRequest, ArchResponse } from "arch-rest";
class MyEndpoint extends ArchEndpoint {
method() {
return ArchMethod.GET;
}
route() {
return "/my-endpoint";
}
handle(req, res) {
res.status(200).json({
message: "Hello, world!",
});
}
}
In this example, we created an endpoint named MyEndpoint
that handles GET requests to the /my-endpoint
route. When a request is made to this route, the handle method is executed and a JSON response with a message is returned.
To create a router in Arch-Rest, you can use the Router
class and add endpoints to it. Here's an example:
import { ArchEndpoint, ArchMethod, ArchRequest, ArchResponse, Router } from "arch-rest";
const myRouter = Router.get("/", (req, res) => {
res.status(200).json({
message: "Hello, world!",
});
});
myRouter.addRoute(new MyEndpoint());
In this example, we created a router named myRouter
that handles GET requests to the root route /
and added the MyEndpoint
endpoint to it. When a request is made to the root route or the /my-endpoint
route, the appropriate response is returned.
Arch-Rest is a flexible and easy-to-use framework for building RESTful APIs with TypeScript. With its simple API for handling requests and responses and its support for routers and endpoints, you can quickly and easily create powerful and simple APIs.