Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ujjwalguptaofficial/fortjs
A feature-rich Node.js web framework designed for building powerful, scalable, and maintainable web applications.
https://github.com/ujjwalguptaofficial/fortjs
component-architecture component-based es6 framework http-server mvc-framework nodejs nodejs-example nodejs-framework nodejs-library nodejs-server nodejs-typescript server typescript typescript-framework
Last synced: 4 days ago
JSON representation
A feature-rich Node.js web framework designed for building powerful, scalable, and maintainable web applications.
- Host: GitHub
- URL: https://github.com/ujjwalguptaofficial/fortjs
- Owner: ujjwalguptaofficial
- License: mit
- Created: 2018-10-31T04:32:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-10T14:23:03.000Z (12 days ago)
- Last Synced: 2024-12-10T15:24:26.846Z (12 days ago)
- Topics: component-architecture, component-based, es6, framework, http-server, mvc-framework, nodejs, nodejs-example, nodejs-framework, nodejs-library, nodejs-server, nodejs-typescript, server, typescript, typescript-framework
- Language: TypeScript
- Homepage: https://fortjs.net/
- Size: 5.53 MB
- Stars: 86
- Watchers: 6
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- Contributing: CONTRIBUTING.MD
- License: LICENSE.TXT
Awesome Lists containing this project
README
[![GitHub version](https://badge.fury.io/gh/ujjwalguptaofficial%2Ffortjs.svg)](https://badge.fury.io/gh/ujjwalguptaofficial%2Ffortjs)
[![TEST](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/test.yml/badge.svg)](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/test.yml)
[![npm version](https://badge.fury.io/js/fortjs.svg)](https://badge.fury.io/js/fortjs)
[![Docs](https://img.shields.io/badge/docs-available-brightgreen.svg)](https://fortjs.net/)# Fortjs
Fortjs is efficient web framework for [Node.js](https://nodejs.org/en/) that empowers developers to build scalable and performant applications with ease. With a focus on simplicity and speed, fortjs provides a robust foundation for creating web APIs and applications. Featuring intuitive routing, dependency injection, and a powerful middleware system, fortjs allows you to craft clean, organized architectures.
# Benchmark
[![BENCHMARK](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/benchmark.yml/badge.svg)](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/benchmark.yml)
Fortjs is **3x faster** than express and nestjs both.
Check live test on [GITHUB CI](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/benchmark.yml)
# Author's Note
While Node.js is undeniably powerful, its available frameworks and ecosystem often lead developers to focus solely on building the application, neglecting considerations for long-term maintainability and code cleanliness. The resulting codebase can be challenging for new team members to grasp.
In contrast, ecosystems like Java and C# offer robust frameworks that facilitate the creation of more maintainable applications. These ecosystems enable new employees to work on the product with relative ease, even without an in-depth understanding of the entire codebase.
Fort.js aims to address this issue by leveraging modern JavaScript and TypeScript. It provides simple APIs and adopts the Fort architecture, which promotes modularity through components without compromising performance (reportedly 3 times faster than Express.js).
# Why fortjs
1. **Simplicity:** fortjs embraces simplicity, making it easy for developers to understand and use.
2. **Efficiency:** The framework is designed for efficiency, enabling the development of performant applications.
3. **Scalability:** fortjs provides a scalable architecture for building both small and large web applications.
4. **Faster:** Fortjs delivers unparalleled speed, surpassing popular alternatives like Express and Nest by more than two times, providing a high-performance solution for web applications. Take a look at [Benchmark](https://github.com/ujjwalguptaofficial/fortjs/actions/workflows/benchmark.yml)
5. **Reusable Components:** Components like walls, shields, and guards offer a modular and reusable approach to building applications.
6. **Intuitive Routing:** fortjs simplifies routing, making it intuitive for developers to define and manage routes.
7. **Dependency Injection:** The framework includes a robust dependency injection system, promoting clean and organized code.
8. **Unit Testable:** Fort.js is designed to be unit-testable, enabling developers to write tests for their code, ensuring stability and maintainability.
9. **Authentication and Authorization:** Guards facilitate the management of authentication and authorization, enhancing security.
10. **Modern Development:** fortjs is built with modern development practices in mind, providing a contemporary and efficient development experience.
11. **Boilerplate Reduction:** Developers can say goodbye to boilerplate code, resulting in cleaner and more maintainable codebases.
12. **Flexibility:** fortjs offers flexibility in how components are used, allowing developers to tailor the framework to their specific needs. You can configure almost everything.
13. **Fort Architecture:** fortjs follows a well-architected design [Fort](https://github.com/ujjwalguptaofficial/fort) , promoting a structured and organized development approach.
14. **TypeScript Supported:** With native TypeScript support, fortjs empowers developers to leverage the benefits of static typing for a more robust and error-resistant codebase.
# Docs
https://fortjs.net/
# Examples
Fortjs provides example for different scenario and tools. Check out repo - https://github.com/ujjwalguptaofficial/fortjs-examples
# Help
We are here to help you. Ask any question at [github discussion](https://github.com/ujjwalguptaofficial/fortjs/discussions)
# Stay in touch
* Author - [Ujjwal Gupta](https://twitter.com/ujjwal_kr_gupta)
## Contributors
You are very welcome to contribute, please see contributing guidelines - [[Contribute](CONTRIBUTING.MD)].
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. For sponsoring, contact author of this project.