GithubHelp home page GithubHelp logo

silentiumsi / bulletproof-express Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jvkdouk/bulletproof-express

0.0 0.0 0.0 113 KB

The last express boilerplate you will ever need. A clean, reliable and maintainable implementation of Express.js ⛨

License: MIT License

Shell 1.75% JavaScript 7.16% TypeScript 91.09%

bulletproof-express's Introduction

Welcome to Bulletproof React ⛨

Every Node.js developer has read at least 5 to 6 different guides on writing Express applications. How to make it work is not really a problem nowadays. However, have you ever asked yourself what is the right way to do it? This repository has the goal of not only answering this question but actively providing the source code for a clean, easy-to-use, reliable and maintainable structure. Below you can find what this boilerplate provides and what we are actively working on:

  • Security (HTTP Parameter Pollution, Fingerprint, XSS...)
  • Support to Prisma DB (Easily Swappable)
  • Error Management
  • Logging (Using Sentry)
  • Component Structure (Features)
  • Queries and Mutators
  • Testing (Using Jest)
  • Permissions
  • TypeScript
  • Multi-Auth Support (JWT Implemented)
  • Cookie Parsing Supported
  • Environment Variable Parsing
  • Node.js Best Practices Compliant
  • Fully Asynchronous Controllers
  • Seeding
  • Testing via Docker
  • Auto-Documentation (Swagger?)

MVC into Components

This boilerplate implements a slightly modified version of Model-View-Controller Pattern. Instead of having a single file storing every endpoint of a controller, every controller is broken down into Queries and Mutators. Inside Queries, you will find operations that retrieve data (usually GET methods). Inside Mutators, you will find operations that change data (usually POST, DELETE, and PUT methods). Queries and Mutators are joined together inside the controller-specific routes.ts, which in turn are joined by the upper-level router at /routes/index.ts.

Node.js Best Practices

This repository is compliant with Node.js Best Practices (Click Here to access their repository). Security standards are put above any decision. Testing is easy to implement and broken into individual feature, integrating it with the rest of the code as it should be. If you feel like there is any violation of those best practices, feel free to open an issue.

Special Thanks

Special thanks to the Spectrum Project (Here) for laying the foundations to Bulletproof Express. Also, many thanks to Node.js Best Practices (Here) and Bulletproof React (Here) for providing guidance on how Enterprise-Level Software should be written.

bulletproof-express's People

Contributors

jvkdouk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.