# httf

> A modular Express-based web framework.

Latest version **0.0.4** (published 2019-11-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install httf
pnpm add httf
yarn add httf
bun add httf
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2019-11-04 |
| First published | 2019-11-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 10.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Hayden Young |
| Maintainers | haydennyyy |
| Keywords | express, http, web framework, framework, api, rest |

## Links

- npm: https://www.npmjs.com/package/httf
- npm.io page: https://npm.io/package/httf

## Dependencies (4)

- [express](https://npm.io/package/express.md) ^4.17.1
- [typescript](https://npm.io/package/typescript.md) ^3.6.4
- [@types/node](https://npm.io/package/@types/node.md) ^12.12.5
- [@types/express](https://npm.io/package/@types/express.md) ^4.17.2

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 0.0.4 (latest) — 2019-11-04
- 0.0.3 — 2019-11-04
- 0.0.2 — 2019-11-04
- 0.0.1 — 2019-11-04

## README

# HTTF

> This project is VERY much a work-in-progress as of right now!
> How about you don't use it in production? Please? Thanks!

The **H**yper **T**ext **T**ransfer **F**ramework.

## What?

The HTTF is an API framework for Node applications built on Express,
utilising eventEmmitters and modularity to create an easy to use,
easily-manageable, and scalable API.

## Where?

HTTF is a Node.js library built in TypeScript, so it can run anywhere
you can run Node.js and Express.

## When?

HTTF is a great tool for everything from microservices to load-bearing
REST APIs.

If you'd like to know more before converting or adopting HTTF,
[drop me an email](mailto:hayden@haydennyyy.com)

## Why?

I wanted a way to create REST APIs without all of the headaches
associated with creating them, like custom creation of authentication
modules and handling databases differently each time.

So I built HTTF with modularity in mind. That way you can have built-in
modules, library-based modules, and your own custom modules, which all
work together to create full web applications.

## How?

To install, just run `npm install httf`.

Getting started is as simple as making a module, creating a server, and
then registering the module with the server.

```js
// module.js
const { HTTFModule } = require('httf');

const helloWorldModule = new HTTFModule({
    name: 'hello-world',
    description: 'An example Hello World module for HTTF.'
});

helloWorldModule.addRoute('GET /', (req, res) => {
    res.send('Hello, world!');
});

module.exports = helloWorldModule;
```

```js
// server.js
const { HTTFClient } = require('httf');
const helloWorldModule = require('./module');

new HTTFClient();
    .registerModule(helloWorldModule);
    .start(3000);
```

## Contributing

If you have an issue, you could
[create one](https://github.com/haydennyyy/httf/issues/new).

If you've got something to contribute, you could
[fork the repo](https://github.com/haydennyyy/httf/fork) and then
create a pull request to merge in your changes!

## License

This software adheres to an MIT license, so you can do as you wish
with the code here.

But I'd appreciate credit if you're gonna commercialise it!

---
_Source: https://npm.io/package/httf · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
