Releases: bcgov/tfrs
Releases · bcgov/tfrs
Credit Transfers -alpha
FRONT END DEVELOPMENT
- Develop the screens in REACT using the balsamiq wireframes with the following directions:
- Implement a Client REST web service to consume the provided Swagger REST API Specifications
- Use the Gov 2.0 Bootstrap Skeleton for look and feel,
- implement the provided Behavior Driven Development scenarios and system messaging,
- create the NavUnit templates for automated functional testing,
- create functions for validation of form data,
BACK END DEVELOPMENT:
- A Python/Django server was developed that implements a REST interface and database design for the initial specification of the TFRS application. Additional back-end development work is needed to refine the server by reusing a Swagger Code Generator mechanism to generate the code for a revised Swagger specification and refactor/add custom functions as needed to implement the new REST API.
- One key path in the Swagger specification is the /api/User. Extend the User API implementation to associate a user with their authentication information received in the HTTP header information. Specifically, all users in the system will be authenticated by Siteminder (via an independent process) such that Siteminder information (UserID, UserGUID) will be available in the HTTP header. Extract that information and use it to find in the database information about the user accessing the application.
- The Swagger Code Generator currently generates (amongst other code) Python/Django Models for the definitions defined in the Swagger specification. Django's ORM capabilities are subsequently used to generate the Database Model from those generated Models. Work is needed to extend the Code generator and to override some Django ORM capabilities to alter the behaviour of the generated database model. This effort will mimic comparable features implemented in the C#/.NET Core/Entity-Framework version of the generator.
- Change the item naming style to meet the NRS Standard (e.g. all upper case names with '_' separators, no table prefixes)
- Push comments describing the items in the design (e.g. tables and attributes) into the database metadata
- Force the database to use UUIDs as keys vs. traditional sequential IDs
- Extend tables to include standard auditing fields, populated via application and/or database triggers.
Credit Transfers -alpha
User Stories
As a trading partner I need to be able to navigate through a series of self-service screens to:
- view information regarding past, proposed and pending credit-related activity including a real-time credit balance and list of activities that may impact that balance.
- enter and submit the information required to propose a credit transaction to a trading partner; accept a proposed trade from a trading partner and submit that transaction proposal to the Director for approval.
- view the information entered by the user on Transaction Details screen before proposing it to a trading partner or submitting it to the Director for approval.
- review before authorising the transaction and submitting it to the Director for approval or saving it for future.
- post a credit tranfer opportunity, offer or advertisement. The offer needs to have the same information that a credit transaction proposal would have, without the transfer partner. Offer and credit transfers are separate entities.
The Low Carbon Fuels Branch staff need to be able to:
- Input transactions to award credits for a "Part 3 Agreement" or to add validated fuel supply credits or to retire credits used for offsets in annual compliance reporting.
- Sort and search the list of all transactions and be able to export/download the tabular data for analysis in excel.
- Add companies, contacts, users, roles and permissions through the Swagger API