Skip to content

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.

License

Notifications You must be signed in to change notification settings

khalilelghoul01/arch-rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arch-Rest

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).

Getting Started

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.*

Creating Endpoints

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.

Creating Routers

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.

Conclusion

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.

About

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.

Topics

Resources

License

Stars

Watchers

Forks