1.0.4 • Published 4 months ago
node-fast-server v1.0.4
fast-server
It enables you to effortlessly create a high-performance API server built with Node.js and Express.
FastServer is a lightweight server framework built on top of Express.js, designed to simplify server setup, API management, and WebSocket integration.
Installition
npm i node-fast-server
Example Application
const server = new FastServer();
server.STARTSERVER();
or
const server = new FastServer();
server.USE()
server.ACTIVE_CORS()
server.ACTIVE_SHARE_FOLDERS("PUBLIC")
server.LISTEN_API(apislist)
server.ACTIVE_WS()
server.LISTEN()
Features
- Flexible API Management: Easily configure and set up APIs with minimal boilerplate.
- CORS Support: Built-in CORS support for cross-origin requests.
- WebSocket Integration: Integrated WebSocket server for real-time communication.
- Static File Hosting: Serve static files with ease.
- Customizable Configuration: Flexible server configuration for different environments.
Usage
Import and Initialize
Import the FastServer
class and initialize it with optional APIs and configuration:
import { FastServer } from 'node-fast-server';
const apis = [
[
{ method: "POST", name: "customApi", endpoint: "customApi", controller: customApi.controller },
{ method: "GET", name: "customApi1", endpoint: "customApi1", controller: customApi.controller1 },
],
[
{ method: "GET", name: "customApi3", endpoint: "customApi3", middleware: customApi3.middleware, controller: customApi3.controller }
]
];
const config = {
SERVER_PORT: 4444,
WS_PORT: 4445,
SERVER_TYPE: 'Develop',
PUBLİC_FOLDER_NAME: "FILES",
PREFIX: "api/v1"
};
const server = new FastServer(apis, config);
server.STARTSERVER();
API Configuration
The APIs are configured using an array of ApiListType
, where each entry contains API details:
- method: HTTP method (e.g., "GET", "POST").
- name: Name of the API.
- endpoint: URL endpoint for the API.
- middleware: (Optional) Middleware for the API.
- controller: Controller function to handle requests.
Example:
const apis = [
[
{ method: "POST", name: "customApi", endpoint: "customApi", controller: customApi.controller },
{ method: "GET", name: "customApi1", endpoint: "customApi1", controller: customApi.controller1 },
],
[
{ method: "GET", name: "customApi3", endpoint: "customApi3", middleware: customApi3.middleware, controller: customApi3.controller }
]
];
Configuration
The ServerConfig
object allows customization of the server:
- SERVER_PORT: Port for the HTTP server.
- WS_PORT: Port for the WebSocket server.
- SERVER_TYPE: Server mode (e.g., "Develop").
- PUBLİC_FOLDER_NAME: Folder for serving static files.
- PREFIX: URL prefix for APIs.
Example:
const config = {
SERVER_PORT: 4444,
WS_PORT: 4445,
SERVER_TYPE: 'Develop',
PUBLİC_FOLDER_NAME: "FILES",
PREFIX: "api/v1"
};
Methods
- STARTSERVER: Starts the server, activates middleware, and listens for API and WebSocket requests.
- USE: Configures middleware such as
cookieParser
and URL encoding. - ACTIVE_CORS: Enables CORS.
- ACTIVE_WS: Starts the WebSocket server.
- ACTIVE_SHARE_FOLDERS: Serves static files from the specified folder.
- LISTEN_API: Sets up APIs based on the provided configuration.
License
This project is licensed under the MIT License.