Home - GeeF/BudgetFirst GitHub Wiki

About

The primary purpose of this wiki is to provide you with all guidelines and documents regarding contributing to the project and general project management stuff.

Budget First is intended to be a free, open source application that helps you with a personal budget. It will build upon (virtual) envelope budgeting where you budget your income over various categories. Any expense you make or expect, even if it's not yet charged on your account, affects your budget. Never overextend your finances because you forgot to budget for that other budget application that charges you monthly...

Contribution guidelines

We welcome everyone that wants to participate in discussions, contribute ideas or code.

Community guidelines / code of conduct

Our code of conduct is based on the open code of conduct.

Code of Conduct

Contribution guideline

Before contributing any code or documents to this project, please fill out our contributor license agreement (CLA). We have decided to use a CLA because we want to release an iOS application at some point. Having all the necessary copyright handled before we get to that step will save us all a lot of trouble.

The CLA signing/acceptance process is automated. Before a pull request is accepted, you'll have to accept the CLA. You'll only have to do this once on the first pull request, afterwards we'll know that you've signed it. If the CLA should change for any reason, you will be asked to sign it again. For reference: Our CLA as of March 7th, 2016

Code standards

Every code you submit must be covered by tests (if possible/reasonable). Please write code, variables, method names, comments etc. in British English. We don't want to define a full, strict set of standards. Use best practices and general coding styles as should be standard for the corresponding platform and language.

We recommend having read Gang of Four, Patterns of Enterprise Application Architecture and (especially) Domain Driven Design.

  • Gang of Four: Design Patterns: Elements of Reusable Object-Oriented Software, Gamma et al
  • Patterns of Enterprise Application Architecture, Fowler
  • Domain-Driven Design, Evans