@fathym-forge/daf-schema-protobuf
v0.0.6
Published
The Core schema used to represent a configuration driven application development experience for Enterprises.
Downloads
2
Keywords
Readme
dynamic-application-schema-protobuf
The Core schema used to represent a configuration driven application development experience for Enterprises.
As technology continues to shift and grow, a gap continues to emerge in how Enterprises can leverage a community of experienced and skilled developers. More important, is how to leverage this community in a scalable and secure way that enables both sides to thrive in the delivery of business-critical solutions and products.
The Dynamic Application Schema supports a configuration driven development experience that separates developers from the technology infrastructure configured by enterprise engineers. This enables developers to create solutions against an application spec that enterprise managers can configure to their platform.
Installing / Getting started
This repository contains the dynamic application schema definitions in multiple serialization formats. To get started with Protocol Buffers install the dynamic-application-schema:
npm install @fathym-forge/daf-schema-protobuf
- This will install the package locally to your system for consumption in your project.
Windows Users Setup
Using Chocolatey, you can quickly get started in compiling the Protocol Buffers definitions into the language of your choosing.
Using Visual Studio Code (running in administrator mode), start by opening a terminal:
Ctrl+`
In the open terminal window (or a cmd shell running as administrator), ensure Chocolatey is installed on your machine by executing this:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
- For up to date Chocolatey installation instructions, visit: https://chocolatey.org/docs/installation
Once Chocolatey is installed, it can be used to quickly install the Protocol Buffers compiler:
choco install protoc
- Additional details can be found here.
To confirm installation of the Protocol Buffers Compiler execute:
protoc --version
Linux Users Setup
TODO
Mac Users Setup
TODO
Compiling Protocol Buffer Definitions
The Protocol Buffers defintions are located in a 'proto' folder at the root of the project. Change into that directory:
cd proto
To compile definitions for specific file that use a CommonJS based JavaScript project, utilize the following command:
protoc --js_out=import_style=commonjs,binary:"..\..\dist\proto\js\common *.proto
TODO Get this actually working
For a complete list of supported languages, and instructions on compiling visit: https://github.com/protocolbuffers/protobuf
Features
What's all the bells and whistles this project can perform?
- What's the main functionality
- You can also do another thing
- If you get really randy, you can even do this
Developing
Getting started with development on this project is straight forward...
git clone https://github.com/your/awesome-project.git
cd awesome-project/
npm install
And state what happens step-by-step...
Building
If your project needs some additional steps for the developer to build the project after some code changes, state them here:
./configure
make
make install
Here again you should state what actually happens when the code above gets executed.
Deploying / Publishing
In case there's some step you have to take that publishes this project to a server, this is the right time to state it.
packagemanager deploy awesome-project -s server.com -u username -p password
And again you'd need to tell what the previous code actually does.
Configuration
Here you should write what are all of the configurations a user can enter when using the project.
Argument 1
Type: String
Default: 'default value'
State what an argument does and how you can use it. If needed, you can provide an example below.
Example:
awesome-project "Some other value" # Prints "You're nailing this readme!"
Argument 2
Type: Number|Boolean
Default: 100
Copy-paste as many of these as you need.
Contributing
When you publish something open source, one of the greatest motivations is that anyone can just jump in and start contributing to your project.
These paragraphs are meant to welcome those kind souls to feel that they are needed. You should state something like:
"If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome."
If there's anything else the developer needs to know (e.g. the code style
guide), you should link it here. If there's a lot of things to take into
consideration, it is common to separate this section to its own file called
CONTRIBUTING.md
(or similar). If so, you should say that it exists here.
Links
Even though this information can be found inside the project on machine-readable format like in a .json file, it's good to include a summary of most useful links to humans using your project. You can include links like:
- Project homepage: https://your.github.com/awesome-project/
- Repository: https://github.com/your/awesome-project/
- Issue tracker: https://github.com/your/awesome-project/issues
- In case of sensitive bugs like security vulnerabilities, please contact [email protected] directly instead of using issue tracker. We value your effort to improve the security and privacy of this project!
- Related projects:
- Your other project: https://github.com/your/other-project/
- Someone else's project: https://github.com/someones/awesome-project/
Licensing
The code in this project is licensed under the MIT license.