ssh-randy / OPENFORGE.IO

We are App Developers, Graphic Designers, and UI/UX experts in the 21st century. Please visit us and meet our team at

Home Page:http://www.openforge.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Official Website | Opportunities | Facebook

Leading By Example.

Working with the latest technologies, designing the best products, and sharing our knowledge with the world wide community.

OpenForge

The OpenForge Community is composed of team members and public contributors banded together for a common goal of leading by example. We are experts in applying UI/UX and Software Architecture principles towards enhancing businesses nation (and world!) wide.

In addition to providing services for our clients; it is our belief that we should also focus on benefiting the community that surrounds us. For this reason; all OpenForge initiatives (that are not client related) are Open Sourced; including our design and business consulting resources which can be found on our Website at www.openforge.io.

If you are a community member who would like to take part of our paid (yes, we said PAID!) Open Source contributions please reach out to us via our opportunities page. We also always encourage anyone to contribute to anything we are doing, and we hope to contribute to your projects as well!

Website Development

The OpenForge.io website is built using a combination of Stencil.js by our friends at Ionic Framework anbd Bootstrap for styling.

Setup

npm install

Running This Application

npm run dev
npm run dev --es5 // firefox

File Structure

UI components should reside in the src/components folder.

While Page components should reside in the src/pages folder. A page component is responsible for the grouping and layout of varios different components into a page. Also responsible for any logic around the communication between the different components, the rest of the application (i.e. routing), and with the external world.

Tools

Linting & Code Formatting:

code style: prettier

This project uses:

package.json defines an npm script for linting. To lint the project at any time, simply run the script with

$ npm run lint

CSS Linting

$ node_modules/sass-lint/bin/sass-lint.js sass-lint -c sass-lint.yml '**/*.scss' -v -q

Versioning & Changelog

We utilize Conventional Changelog to generate a changelog from git metadata.

The following tools are used to achieve this purpose:

With the current configuration, after a developer stages their changes for a commit. They can use the following npm script to walk them through committing their changes.

npm run cz

Read more about the commit guidelines here

After all changes have been committed, a release and a changelog can be triggered by using the npm version command. And the current configuration takes care of generating the changelog file based on git metadata.

Automation & Hooks

The project uses husky for git hook integations. And uses lint-staged to run automatically run linters on staged files. And commitlint to ensure commits messages follow the conventions.

For every commit, it will ensure files are linted and that the code is formatted to prettier's configuration. It will also confirm that the proposed commit message matches the defined guidelines. If any error occurs in the process, it will stop and prevent the commit until the issues are fixed.

If a developer went through providing all the information during a npm run cz only to find that there were issues with their commit. They may fix them and instruct commitizen to try the commit again with npm run cz -- --retry

Deployment

npm run build

Note: You may have to install firebase-tools via npm install -g firebase-tools and then authenticate via command line on your local machine to firebase

npm run firebase:deploy:dev // deploy to firebase dev environment

About

We are App Developers, Graphic Designers, and UI/UX experts in the 21st century. Please visit us and meet our team at

http://www.openforge.io

License:Apache License 2.0


Languages

Language:TypeScript 64.4%Language:CSS 18.2%Language:JavaScript 14.9%Language:HTML 2.6%