Skip to content

A universal boilerplate for building web applications w/ TypeScript, React, Redux, Server Side Rendering and more.

License

Notifications You must be signed in to change notification settings

pickledworks/vorti

Repository files navigation

Vorti

Build Status Dependency Status devDependency Status Code Climate GitHub issues GitHub license


Vorti (originally Vortigern) is an opinionated boilerplate for crafting universal web applications by using modern technologies like TypeScript, React and Redux.

TypeScript React Redux

Libraries

Vorti uses the following libraries and tools:

Core

Utilities

Build System

Dev & Prod Server

Developer Experience

Testing

Directory Structure

.
├── build                       # Built, ready to serve app.
├── config                      # Root folder for configurations.
│   ├── test                    # Test configurations.
│   ├── types                   # Global type definitions, written by us.
│   ├── webpack                 # Webpack configurations.
│   └── main.ts                 # Generic App configurations.
├── node_modules                # Node Packages.
├── src                         # Source code.
│   ├── app                     # App folder.
│   │ ├── components            # React Components.
│   │ ├── containers            # React/Redux Containers.
│   │ ├── helpers               # Helper Functions & Components.
│   │ ├── redux                 # Redux related code aka data layer of the app.
│   │ │   ├── modules           # Redux modules.   
│   │ │   ├── reducers.ts       # Main reducers file to combine them.  
│   │ │   └── store.ts          # Redux store, contains global app state.    
│   │ └── routes.tsx            # Routes.
│   ├── client.tsx              # Entry point for client side rendering.
│   └── server.tsx              # Entry point for server side rendering.
├── typings                     # Type definitions installed with typings.              
├── .dockerignore               # Tells docker which files to ignore.
├── .gitignore                  # Tells git which files to ignore.
├── .stylelintrc                # Configures stylelint.
├── Dockerfile                  # Dockerfile.
├── favicon.ico                 # Favicon.
├── package.json                # Package configuration.
├── README.md                   # This file
├── tsconfig.json               # TypeScript transpiler configuration.
├── tslint.json                 # Configures tslint.
└── typings.json                # Typings package configuration.

Installation

You can clone from this repository or install the latest version as a zip file or a tarball.

$ git clone https://github.com/noddigital/vorti
$ cd vorti
$ npm install

Usage

All commands defaults to development environment. You can set NODE_ENV to production or use the shortcuts below.

# Running

$ npm start # This starts the app in development mode

# Starting it with the production build
$ NODE_ENV=production npm start # or
$ npm run start:prod

# Building 

$ npm build # This builds the app in development mode

# Commands below builds the production build
$ NODE_ENV=production npm build # or
$ npm run build:prod

# Testing
$ npm test

For Windows users, we recommend using the shortcuts instead of setting environment variables because they work a little different on Windows.

Notes

# If you want install additional libraries, you can also install their typings from DefinitelyTyped
$ typings install dt~<package> --global --save
# or if it's located on npm
$ typings install <package> --save

Credits

Vorti is a fork of the unmaintained Vortigern project and is released under the same MIT license.

The image in this README belongs to hhvferry.com.


We are a digital product studio from Istanbul.

Feel free to get in touch with us via hey@nod.digital if you need help building your idea, or just to say hi.

About

A universal boilerplate for building web applications w/ TypeScript, React, Redux, Server Side Rendering and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published