From Fedora Project Wiki

Overview

There is a need of an information system where it can be used with in the project to track and analyse the finacial activities for FAms (Fedora Ambassadors), Managing Fund Requests, Receipts, Budget Proposals and generating reports.

Initial Given Scenarios

  • At the start of the year Budget owner set limits to regions (NA,EMEA,LATAM,APAC)
  • FAm make a fund request.
  • Once approved budget owner should approve the request and then deduct the amount from the allocated budget.
  • Once the FAm submit the receipts it should be forwarded to the Ledger(assume this is like updating a table for now).
  • At the end of the year FAm can submit their next year budget requirements to the system.
  • Budget owner can see those budget proposals and able to query them for region, amount, types and so on.


PHP Framework

The project will be developed using php and Laravel 4 (In beta but can be used for production), Laravel 4 is a framework for web artisans, applies the Model View Control (MVC) architecture/design pattern. Laravel contains a very strong database Object Relationship Mapper (ORM) called Eloquent (ActiveRecord Implementation) which will help us with our complex relations.

Laravel 4 also implements restful controllers / Resource Controllers and restful routes pattern in core.

Database

Data Models

  • Region: Responsible on each region (NA,EMEA,LATAM,APAC).
  • FundRequests: Handles the fund request by FAm details.
  • Receipts: Represents each receipt and related it to it’s FundRequest.
  • User Role
  • Account
  • Journal
  • PostingEntry
  • TransactionType (Optional, Can be Hard Coded)
  • FinancialYear (Optional, We don't needed but it's availability may ease some report generation and keep the data models organized)
  • BudgetProposals: Represents Budget Proposal by FAm at the start of each year.
  • ProposalItems: Re