Source code for the mobile application of the iBlock person verification digital platform.
Provide a user-friendly interface to interact with the platform.
Since project uses Flutter framework directories are organized according to it. The development is completely inside /lib directory.
Overview of files and directories in /lib
main.dart- Handling theming, routing of the application.config.dart- Configurations for the application./bloc- Contains all business logics for the application. The project is using flutter_bloc library for state management./initialize- contains all business logic, states, events related to initializing the app./signup- contains all business logic, states, events used for signup process (including the recovery)./settings- contains all business logic, states, events for handle settings of the application./verify- contains all business logic, states, events for handle verify process.
/pages- Contains files for render the screens in the app./widgets- Contains all supporting widgets created./services- Contains all services created to support the application activities.
App can be configured to be used in any ethereum based testnet. To configure edit the lib/config.dart file.
Following is a sample configuration to link with local ganache server
static const String rpcUrl = "http://localhost:7547"; // local ganache server address
static const String wsUrl = "ws://localhost:7547";
static const int chainId = 5777; // chainID of the ganache blockchainApplication has a backend with few REST API end points. link.
static const String backendUrl = "http://localhost:3000"; // address of the backend serverSince backend REST end points are protected with an APIKEY need to create a secrets.dart within the lib/ directory.
There specify the APIKEY used by the backend as follows.
const String APIKEY = "<APIKEY>";- Figma Prototype : https://bit.ly/3xdMi33