All Projects → platframe → platframe

platframe / platframe

Licence: MIT license
Structured, scalable and modular frontend development platform.

Programming Languages

stylus
462 projects
javascript
184084 projects - #8 most used programming language
Pug
443 projects

Projects that are alternatives of or similar to platframe

fylgja
The modular highly customisable CSS framework. Powered by CSS Components, Utilities and Props for building your Web UI.
Stars: ✭ 65 (+71.05%)
Mutual labels:  modular
hexo-theme-chiangmai
A theme of Hexo Inspired by Chiang-Mai City 🇹🇭
Stars: ✭ 32 (-15.79%)
Mutual labels:  pug
dashcore-node
Full node with extended capabilities using Dashcore and Dash Core (dashd)
Stars: ✭ 30 (-21.05%)
Mutual labels:  platform
CodeIgniter-HMVC
CodeIgniter 3.1.10 with Modular Extensions - HMVC and Whoops Error Handling Framework 2.5.0
Stars: ✭ 30 (-21.05%)
Mutual labels:  modular
ariyana
Ariyana is an ECS work in progress game engine written in Orthodox C++ and Beef with a focus on cross-platform and multiplayer games
Stars: ✭ 73 (+92.11%)
Mutual labels:  modular
Minecraft-Box-Launcher
Open source Minecraft Java Edition launcher built with ElectronJS
Stars: ✭ 19 (-50%)
Mutual labels:  pug
nitroml
NitroML is a modular, portable, and scalable model-quality benchmarking framework for Machine Learning and Automated Machine Learning (AutoML) pipelines.
Stars: ✭ 40 (+5.26%)
Mutual labels:  modular
plazar-js
Modular framework built with enterprise in mind - http://www.plazarjs.com
Stars: ✭ 25 (-34.21%)
Mutual labels:  modular
vade-mecum-shelf
Collection of vade mecum-like utilities wrapped into one single app, built with Electron.
Stars: ✭ 33 (-13.16%)
Mutual labels:  modular
modis
A highly modular Discord bot designed for anyone to customise and self-host.
Stars: ✭ 16 (-57.89%)
Mutual labels:  modular
Shangchao-Website
(官网案例) - 上朝科技 - Vue 2.0 - SPA项目
Stars: ✭ 22 (-42.11%)
Mutual labels:  pug
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+3731.58%)
Mutual labels:  platform
Jarvis-personal-assistant
Comfort of a personal assistant for Linux systems. Currently features native google, yahoo, bing searches, weather conditions, videos from youtube and looking up for images as well, all in a very reliable structure and UI.
Stars: ✭ 45 (+18.42%)
Mutual labels:  modular
StartupModules
Startup modules for ASP.NET Core.
Stars: ✭ 33 (-13.16%)
Mutual labels:  modular
appng
appNG is an open source, horizontally scalable application platform for developing and operating applications efficiently. It can be used to build an Application Platform as a Service (aPaaS).
Stars: ✭ 32 (-15.79%)
Mutual labels:  platform
FAVITES
FAVITES (FrAmework for VIral Transmission and Evolution Simulation)
Stars: ✭ 33 (-13.16%)
Mutual labels:  modular
SelectTransform
This project is based upon https://github.com/SelectTransform/st.js but differs in implementation, functionality and robustness.
Stars: ✭ 17 (-55.26%)
Mutual labels:  modular
matters-web
Website of Matters.News, built with Next.js.
Stars: ✭ 70 (+84.21%)
Mutual labels:  platform
alfred
A Modular Toolchain for JavaScript
Stars: ✭ 42 (+10.53%)
Mutual labels:  modular
Modular2Recycler
Modular²Recycler is a RecyclerView.Adapter that is modular squared.
Stars: ✭ 72 (+89.47%)
Mutual labels:  modular

Platframe

Modular platform for structured and scalable frontend development.

Netlify Status

Build and deploy your new project in one go:

Take Platframe for a spin on Netlify

Table of contents

Overview

Platframe is a structured and modular frontend development platform suitable for building both multi (MPA) and single page applications (SPA) that are backend agnostic.

Purpose

To provide a sound development platform with constructs that enhance developer efficiency and tooling that supports the frontend workflow.

This is achieved through the following key objectives:

  • An architecture that is semantic, modular and scalable
  • Consistent patterns for structuring source code and common assets
  • A workflow strategy that facilitates both the development and production phase
  • A component implementation to modularize discrete UI concerns and optimize reuse
  • A collection of defaults that address common markup, style and logic concerns
  • A base template for use as a springboard in new projects

Notes

CSS development methodology and coding style is beyond the framework's purview. The primary concern is not to expose a collection of predefined styles, but rather to allow the preference of the developer/team and requirements of the project to determine the most suitable approach to styling.

As the framework remains minimally prescriptive on the methodology you use for authoring CSS, the usage scope of the class selector is largely a decision you get to make. A notable exception is components, which for consistency should be ID'd with a class as described in the documentation.

Stack

Pug, Stylus and JavaScript

Ulterior functions

Beyond the scope of its core functions, Platframe may also be used as a static site generator or a structural blueprint for new frontends.

Generator

Using the framework as a static site generator lends its core benefits to your project, regardless of size. This facilitates projects with less complex requirements. Put the platform in development mode to start adding content and optionally customize the default template. Refer to Getting started.

Blueprint

Frontend architecture is often an afterthought, resulting in a maintenance burdern down the line. You may be able to avoid this by modelling your frontend's structure on Platframe's architecture. Here's an outline of how your project could benefit:

  • Consistent patterns for asset structuring
  • Facilitates growth as the structure scales predictively
  • Exposes a structural hierarchy that optimizes efficiency through inheritance
  • A modular design that keeps your code DRY
  • Reduce or eliminate dev time spent on architectural decisions

Refer to the section on architecture in the docs for more detail. When using Platframe solely as a blueprint for structuring a new frontend, it becomes largely stack-agnostic. The only prerequisite is that the chosen stack should have sufficient feature parity with the respective language features of Pug, Stylus and JavaScript employed by the framework in order to abide by the requirements of the architecture.

Getting started

1. Prerequisites

  • Node.js  ≥ v8.0
  • NPM  ≥ v5.2
Optional:
  • Yarn
  • Node Version Manager (nvm)

2. Get the source

  • Option 1: npx degit platframe/new my-app
  • Option 2: download the latest release

3. Install

You may run nvm to ensure you use the recommended Node version:

  • cd my-app && nvm use

Install the dependencies:

  • cd my-app && yarn install

Alternatively, setup your VCS as part of the installation run:

  • cd my-app && git init && yarn

If you intend to use .env, remove its .sample extension.
Change the default metadata in package.json to reflect your project.

Develop

Spin up the development environment by running yarn develop
By default, the build will be served at localhost:3000
The build system takes care of transpiling modified sources and triggering client updates

Test

Run your test suite* with npm test
Build, test and serve a production build for inspection with npm run preflight.
In addition to hosting the build on your local machine, the preflight task will also provision a tunneled, public URL for previewing the build outside your local network.

* Currently, only linting for JavaScript is wired to the test task. You are responsible for integrating additional testing mechanisms as required.

Deploy

For an optimized, production-targeted build, run yarn build
You can optionally wire your deployment logic to yarn deploy

Documentation

The documentation can be found at platframe.com/docs

Contributing

Refer to the contribution guidelines on how to get started.


Meta

© 2018 Cygnul. Authored by @gidhon. Released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].