Overview:
Base is a seed/starter kit for a modern web application stack built with ReactJS, Flux, Express, and Postgres. It provides a baseline level of security features for protection against common web application threats. The philosophy behind Base is to give developers a kick start when building their app by providing a secure web application stack and scaffolding out React components along with related Flux actions and stores.
Features:
- React+Flux Scaffolding: Base scaffolds out React components along with related Flux actions and stores.
- Secure web application stack using OAuth2: Base includes PassportJS for OAuth2 authentication and supports username/password sign-in and sign-up as well as social logins (Google and Facebook).
- A light and scalable Web Server: Base uses Express and NodeJS as the web stack base, providing a powerful and scalable foundation.
- An RDBMS Alternative: Base uses Postgres as the RDBMS option, offering a fast, scalable, open source, and well-supported choice.
- Stack: Base includes Gulp, Webpack, React, Flux, Express, Postgres, Passportjs, Bootstrap, Jade, Mocha, and Chai.
- Security: Base implements various security measures including HelmetJS for header protection mechanisms, TLS/SSL by default, XSS protections, CSRF protections, and secure sessions.
Installation:
Before running the install scripts for Base, there are a few manual steps to follow:
- Install a running instance of PostgreSQL from http://www.postgresql.org/download/.
- Download and install pgAdmin, the default admin platform for PostgreSQL, from http://pgadmin.org/.
- Open pgAdmin and create a new empty database.
- Indicate the name of this database in your DB connection string in the .env file.
- Set up your app’s OAuth details for each respective provider (e.g., Facebook login, Google login).
Summary:
Base is a starter kit for building modern web applications with a focus on security. It provides scaffolding for React components and related Flux actions and stores. The stack includes technologies like Gulp, Webpack, Express, and Postgres. Base also supports OAuth2 authentication with username/password sign-in and sign-up as well as social logins. Its security features include TLS/SSL by default, XSS and CSRF protections, and secure sessions. Overall, Base aims to give developers a kick start with a secure web application stack and baseline security features.