diff --git a/docs/content/2.frontier/1.introduction/1.whats-frontier.md b/docs/content/2.frontier/1.introduction/1.whats-frontier.md index 4f1f50ca..2ce4277f 100755 --- a/docs/content/2.frontier/1.introduction/1.whats-frontier.md +++ b/docs/content/2.frontier/1.introduction/1.whats-frontier.md @@ -1,2 +1,5 @@ # What is Frontier? +[Frontier](https://github.com/realdecoy/frontier/) is a universal and extensible development toolchain established to expedite product development, management, and post deployment application support. It brings our current domain-level tools under one large umbrella giving the ability to scaffold backend, web, QA, mobile and other application tools. + +It offers a set of standard libraries and typing kits that can be used across engineering projects to allow for more consistent software development. With frontier, a set of plugins are available for use by developers which can be used to easily generate base project files contributing to a faster development process. diff --git a/docs/content/2.frontier/1.introduction/2.content-directory.md b/docs/content/2.frontier/1.introduction/2.content-directory.md index 901a98c2..08acfb9b 100644 --- a/docs/content/2.frontier/1.introduction/2.content-directory.md +++ b/docs/content/2.frontier/1.introduction/2.content-directory.md @@ -1,2 +1,26 @@ # Content directory +## Structure + + +``` +- Templates + - Addon + - Library +- Examples + - Project Playground A.. + - Admin Dashboard Example +- Packages + - Frontier-core + - lib-builder + - cli + - Frontier-plugins + - plugin-vue + - plugin-mobile + - plugin-qa + - Frontier-libraries + - stdlib + - typekit +- Docs +- Tests +``` \ No newline at end of file diff --git a/docs/content/2.frontier/2.installation/1.general.md b/docs/content/2.frontier/2.installation/1.general.md index 0a396c3e..c77f056a 100644 --- a/docs/content/2.frontier/2.installation/1.general.md +++ b/docs/content/2.frontier/2.installation/1.general.md @@ -1,2 +1,3 @@ # General Use +When using the frontier cli tool it is preferred that when running commands yarn is used over npm. When npm is used some frontier's mono repository features may not work as they should therefore yarn is needed. Using yarn also allows for parallel installation of the frontier tool to take place. \ No newline at end of file diff --git a/docs/content/2.frontier/3.cli/1.usage.md b/docs/content/2.frontier/3.cli/1.usage.md index 0ff38af8..b12a5adc 100644 --- a/docs/content/2.frontier/3.cli/1.usage.md +++ b/docs/content/2.frontier/3.cli/1.usage.md @@ -1,2 +1,52 @@ # Usage +Installing the CLI can be done with the following commands: + +```bash +$ npm install -g @rdfrontier/cli +``` + +or + +```bash +$ yarn global add @rdfrontier/cli +``` + +## Check Commands + +```bash +$ npm install -g @rdfrontier/cli +``` + +## Options + +```txt +Usage: + frontier + +Commands: + plugins - List installed plugins + plugins:install - Install plugins + +Options: + --help | -h - Show help information + --version | -v - Show current version + +``` + +## Help Menu + +The help menu can be accessed with the command: +```bash +$ frontier --help +``` + + +## Check Version + +The current version of rdvue can be retrieved with the command: + +```bash +$ frontier -v|--version|version +``` + diff --git a/docs/content/2.frontier/4.plugins/1.frontend.md b/docs/content/2.frontier/4.plugins/1.frontend.md index ffa90f3c..6f2df9a4 100644 --- a/docs/content/2.frontier/4.plugins/1.frontend.md +++ b/docs/content/2.frontier/4.plugins/1.frontend.md @@ -1,2 +1,29 @@ # Frontend +## [RDVue CLI Plugin](http://frontier.realdecoy.com/rdvue/getting-started/overview) + +Derived from the product of RealDecoy's Frontend Practice group it allows for easy generation of Vue.js projects, by employing, a development style guide which enforces: + +- Strong typing with TypeScript +- Standardized Component +- Layout and Page models +- A data-layer design promoting unified consumption through Stores and Services + + + +## Options + +```txt +frontier vue:: + +Actions: + create-project - Scaffold a new rdvue project + add - Add a feature to a project + plugin - Inject a utility to extend project functionality + upgrade - Specify the rdvue template version for a project + +Options: + --help | -h - Show help information + +``` + diff --git a/docs/content/2.frontier/4.plugins/2.mobile.md b/docs/content/2.frontier/4.plugins/2.mobile.md index 14cf7b5f..7861faaa 100644 --- a/docs/content/2.frontier/4.plugins/2.mobile.md +++ b/docs/content/2.frontier/4.plugins/2.mobile.md @@ -1,2 +1,27 @@ # Mobile +## [RDVue Mobile CLI Plugin](http://frontier.realdecoy.com/mobile/getting-started/overview) + +A product of RealDecoy's Frontend Mobile Practice Area, allows for easy generation of React Native projects, by employing a development style guide which enforces: +- Strong typing with TypeScript +- Standardized Component +- Layout and Screen models +- A data-layer design promoting unified consumption through React Contexts and Services + + + +## Options + +``` +Usage: + npx mobile + +Actions: + create-project - Scaffold a new mobile project + add - Add a feature to a project + plugin - Inject a utility to extend project functionality + +Options: + --help | -h - Show help information + --verbose - Show debug logs to get more information +``` \ No newline at end of file diff --git a/docs/content/2.frontier/5.libraries/1.typekit.md b/docs/content/2.frontier/5.libraries/1.typekit.md index db8a293d..56274050 100644 --- a/docs/content/2.frontier/5.libraries/1.typekit.md +++ b/docs/content/2.frontier/5.libraries/1.typekit.md @@ -1,2 +1,158 @@ -# TypeKit +# Frontier TypeKit Library + +## @rdfrontier/typekit + +A library of common reusable types. + + + +## Table of Contents + +*** + + - Installation + - Usage + - Options + + +## Installation + +``` +$ yarn add --save--dev @rdfrontier/typekit +``` + +or + +``` +$ npm install --save--dev @rdfrontier/typekit +``` + +## Usage + +``` +import { SuccessCode } from '@rdfrontier/typekit'; + +console.log(SuccessCode.Countinue) +``` + +## Options + +| Name | Description | +| ----------------------|------------------| +| HTTP Status Codes | Add Description | +| Network Information | Add Description | + + +## HTTP Status Codes + +This is ______________ + +## Information Code + +``` +Continue - 100 +SwitchingProtoclos - 101 +Processing - 102 +EarlyHints - 103 +``` + +## Success Code + +``` +OK - 200 +Created - 201 +Acccepted - 202 +NoAuthoritativeInformations - 203 +NoConent - 204 +ResetConent - 205 +PartialConent - 206 +MultiStatus - 207 +AlreadyReported - 208 +IMUsed - 226 +``` + +## Redirect Code + +``` +MultipleChoices - 300 +MovedPermanently - 301 +Found - 302 +SeeOther - 303 +NotModified - 304 +TemporaryRedirect - 307 +PermanentRedirect - 308 +``` + +## Client Error Code + +``` +BadRequest - 400 +Unauthorized - 401 +PaymentRequired - 402 +Forbidden - 403 +NotFound - 404 +MethodNotAllowed - 405 +NotAcceptable - 406 +ProxyAuthenticationRequired - 407 +RequestTimeout - 408 +Conflict - 409 +Gone - 410 +LengthRequired - 411 +PreconditionFailed - 412 +PayloadTooLarge - 413 +URITooLong - 414 +UnsupportedMediaType - 415 +RangeNotSatisifiable - 416 +ExpectationFailed - 417 +ImATeapot - 418 +MisdirectedRequest - 421 +UnprocessableEntity - 422 +Locked - 423 +FailedDependency - 424 +UpgradeRequired - 426 +PreconditionRequired - 428 +ToomanyRequests - 429 +RequestHeaderFieldsTooLong - 431 +UnavailableForLegalReasins - 451 +``` + +## Server Error Code + +``` +InternalServerError - 500 +NotImplemented - 501 +BadGateway - 502 +ServiceUnavailable - 503 +GatewayTimeout - 504 +HTTPVersionNotSupported - 505 +VariantAlsoNegotiates - 506 +InusufficientStorage - 507 +LoopDetected - 508 +NotExtended - 510 +NetworkAuthenticationRequired - 511 +``` + +## Network Info + +### Effective Connection Type + +``` +FouthGeneration - 4g +SecondGeneration - 2g +SlowSecondGeneration - slow-2g +ThirdGeneration - 3g +``` + +## Connection Type + +``` +Bluetooth - bluetooth +Cellular - cellular +Ethernet - ethernet +None - none +Other - other +Unknown - unknown +WiFI - wifi +WiMax - wimax +``` diff --git a/docs/content/2.frontier/5.libraries/2.standard-library.md b/docs/content/2.frontier/5.libraries/2.standard-library.md index ae10ef83..387acf41 100644 --- a/docs/content/2.frontier/5.libraries/2.standard-library.md +++ b/docs/content/2.frontier/5.libraries/2.standard-library.md @@ -1,2 +1,57 @@ -# Standard Library +# Frontier Standard Library +## @rdfrontier/stdlib + +A collection of functions/logic that are written in pure TypeScript with limited dependencies. These functions expose generic concepts available for use throughout different projects. + + + +## Table of Contents + +- Installation +- Usage +- Options + + +## Installation + +``` +$ yarn add --save--dev @rdfrontier/stdlib +``` + +or + +``` +$ npm install --save--dev @rdfrontier/stdlib +``` + +## Usage + +``` +$ import { log } from '@rdfrontier/stdlib'; +``` + +## Options + + +|**Name** | **Description** | +|----------------------------------------|----------------------------------------------| +| **Type Guards** | | +| isBoolean(value: unknown) | Checks if value is a boolean. | +| isNumber(value: unknown) | Checks if value is a number. | +| isString(value: unknown) | Checks if value is a string. | +| isNumberArray(value: unknown) | Checks if value is a number array. | +| isStringArray(value: unknown) | Checks if value is a string array. | +| toStringArray(value: unknown[]) | Converts an array to a string array. | +| isJsonString(value: string) | Checks if a string value is a JSON string | +| **Case Conversions** | | +| toKebabCase(value: string) | Converts a string to a kebab case string. | +| toPascalCase(value: string) | Converts an string to a pascal case string. | +| **Email Validation** | | +| isValidEmail(email: string) | Checks if a string is a valid email address. | +| **Color Validation** | | +| isValidHex(text: string) | Checks if a string is a valid hex color. | +| **Standard Output** | | +| log(message: any = '', ...args: any) | Prints a message to the console. | +| **Object Setting** | | +| makeObjectReadOnly< T >(obj: T) | Make an object readonly. | \ No newline at end of file diff --git a/docs/content/2.frontier/6.templates/1.dotNet.md b/docs/content/2.frontier/6.templates/1.dotNet.md index 3b6ba159..3adeaf40 100644 --- a/docs/content/2.frontier/6.templates/1.dotNet.md +++ b/docs/content/2.frontier/6.templates/1.dotNet.md @@ -1,2 +1,40 @@ -# [ Backend ] - Dot Net +# [ Backend ] - .Net +This template provides a multi-project solution for creating an enterprise-level application that includes the use of .NET Identity, Swagger, API Versioning, CORS, Localization, NLog, Fluent Validation, Fluent Email, IP Rate Limiting using the .NET 5 Framework and are guided by the Clean Architecture principles enabling rapid application development. + +
+ +## Why use .NET +___ +1. **Security** - .NET provides a highly secure environment through the usage of various security mechanisms to keep an application protected. Through the provision of many useful classes and services, .NET enables developers to use cryptography, write more secure code, and implement role-based security. The security support provided by .NET allows for the flexibility and extensibility to meet the needs of a wide range of applications. + +2. **Scalability** - .NET is noted as an excellent platform to be utilized when the scalability of an application is required. Its object interface allows for the creation of a blueprint by developers to reuse objects in different software. The ability for developers to change code without impacting other parts of an application such as user experience (UX), is critical aspect to application development. + +3. **Flexibility** - .NET offers great flexibility in its use. With its compatibility with many programming languages, such as C#, F#, Visual Basic, Cobra and Fantom amongst others, .NET offers a significant advantage in its use for engineers with a wide range of coding skills. The ability of .NET to develop applications across multiple operating systems and platforms enables a high level of flexibility in how applications are developed and used. .NET supports the development of serval types of applications such as: Desktop, Game Development, Microservices, Web, Mobile, Cloud, Internet of Things and Machine Learning. + + +## When to use .NET +___ +Often choosing one amongst all the programming languages is quite a difficult task. .NET offers significant advantages over some programming languages and some programming languages offer their own significant benefits over .NET. Some have recommended the utilization of in the context of creating enterprise applications. However here at RealDecoy, deciding when to use .NET comes down to preference of the clients and sometimes of the developers. + +
+ +## Installation +___ + +***Guide to Installing .NET Framework:*** + +1. Read how to install .NET at [Install the .NET Framework developer pack or redistributable - .NET Framework](https://docs.microsoft.com/en-us/dotnet/framework/install/guide-for-developers) + +2. Watch video on installing .NET [Installing .NET 5 for Beginners](https://www.youtube.com/watch?v=karSxhTb_38) + + +> **_NOTE_** For additional information visit Install .NET on Windows - [.NET](https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60) + + +
+ +## Templates +___ +***Guide to Installing .NET Template*** +1. Read installation instructions at [GitHub - realdecoy/.Net6] (https://github.com/realdecoy/.Net6) \ No newline at end of file diff --git a/docs/content/2.frontier/6.templates/3.nuxt.md b/docs/content/2.frontier/6.templates/3.nuxt.md index a6184e25..44edd7ed 100644 --- a/docs/content/2.frontier/6.templates/3.nuxt.md +++ b/docs/content/2.frontier/6.templates/3.nuxt.md @@ -1,2 +1,22 @@ # [ Frontend ] - Nuxtjs +## :question: What is Nuxt.js? + +
+ +```text +A Vue.js framework for developing Vue.js applications faster, easier and in a more organized way. The Nuxt.js framework allows developers to build universal application that can execute on both the client and the server side. By using server-side rendering, developers can use a Node.js server to deliver HTML to the client side of an application. Nuxt.js offer a wide variety of benefits in its use some of which includes the availability of a started template for application building, automatic code-splitting and the setup of an auto-updating development server. +``` + +- [2 Nuxt JS beginner tutorial - Getting Started with NuxtJs | How to setup Nuxt Project](https://youtu.be/RdyX5GVjeA8) + + +
+ +## :heavy_check_mark: Need for Nuxt.js at RealDecoy? + +
+ +```text +Here at RealDecoy the use of Nuxt.js offers the potential to develop full stack applications with just one framework. Nuxt.js offers server-side rendering capabilities that allows for backend development with server side security. With the use of RDVue CLI standards already in place here at RealDecoy, the transition to a project that uses Nuxt.js is much easier as they both have a similar opinionated setup and structure of use here. Developers have noted that the potential for Nuxt.js here at RealDecoy can take us a far way as a pairing of RDVue with Nuxt.js makes good for the development of Single Page Applications. +``` \ No newline at end of file