/F2

F2 - The Open Financial Framework

Primary LanguageJavaScriptApache License 2.0Apache-2.0

F2 - An open web framework for the financial services industry.

F2 is an open and free web integration framework designed to help you and other financial industry participants develop custom solutions that combine the best tools and content from multiple providers into one, privately-labeled, seamlessly integrated front-end. The [essential components](http://docs.openf2.org/index.html#framework) defined by the F2 specification are the Container, Apps, Context and Store—all supported under the hood by **[F2.js](http://docs.openf2.org/f2js-sdk.html)**, a JavaScript SDK which provides an extensible foundation powering all F2-based web applications.

F2 is currently maintained by Markit On Demand and you're encouraged to read more details about the management of the F2 spec. Visit OpenF2.org for more information and follow @OpenF2 on Twitter.

Quick Start

Clone the repo, git clone https://github.com/OpenF2/F2.git, or download the latest version.

Now you've got F2, you are ready to start building F2 containers or apps. Read the Get Started documentation for F2 apps to begin. If you simply want to see examples, point your browser at http://path/to/your/F2/examples/.

Important: If you simply want to build F2 containers or apps, you can skip the Build F2 section below. You do not need the command line to work with F2.

Versioning

To adhere to industry standards, F2 will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<patch>

For more information on SemVer, please visit http://semver.org/.

You can run this command to check the version of your local copy of F2 (if you've setup the build):

$> grunt version

Talk

Have a question? Want to chat? Open an Issue on GitHub, ask it on our Google Group or send an email to info@openf2.org.

Bug Tracking

To track bugs and issues, we are using Issues on GitHub.

Developers

If you just want to build F2 containers and/or apps, you can skip the Build F2 section below. You do not need the command line to work with F2.

Build F2 Build Status

For those wishing to contribute back to F2, we've included a Gruntfile for use with Grunt which contains the logic for compiling and testing F2.js and the specification docs. Grunt is built on top of Node.js and is installed via npm.

To configure your environment, be sure you have Node installed and run the following command from the project root directory:

$> npm install

This command will install the Grunt CLI in addition to all dependencies needed to run the Gruntfile. Depending on your configuration, you may need to be an admin to install some of these Node packages. Additionally, some packages may need to be installed globally using the -g switch. If the installation fails due to directory permissions, use:

$> sudo npm install

We are using markitdown, a lightweight pandoc wrapper, for converting markdown files to HTML for the F2 docs. Pandoc is required for markitdown and there are installation packages available for Windows and Mac OS.

To build F2, run:

$> grunt

For help, run:

$> grunt --help

Some Mac users have run into a Grunt "cannot run in wd" error when using grunt and/or npm install. If you're getting that error in your shell, try using --unsafe-perm as discussed here.

NuGet Package

Good news if you're using C#! We have an F2 NuGet package available. In the Package Manager Console run:

PM> Install-Package F2

Collaboration

Join our team and help contribute to F2 on GitHub. Begin by reading our contribution guidelines, and then start by forking the repo, sending pull requests, or submitting issues.

Copyright and License

Copyright © 2013 Markit On Demand, Inc.

"F2" is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Please note that F2 ("Software") may contain third party material that Markit On Demand Inc. has a license to use and include within the Software (the "Third Party Material"). A list of the software comprising the Third Party Material and the terms and conditions under which such Third Party Material is distributed are reproduced in the ThirdPartyMaterial.md file. The inclusion of the Third Party Material in the Software does not grant, provide nor result in you having acquiring any rights whatsoever, other than as stipulated in the terms and conditions related to the specific Third Party Material, if any.