Giter VIP home page Giter VIP logo

cashir_quiz's Introduction

Cashir Quiz

This is a solution to an interview challenge from cashir.app. In this challenge I am to design a survey application to collect data from users, I am expected to get user responses and persist them locally. I am required to also get and display submitted responses.

About Cashir

Never worry about running out of cash. With Cashir, you can withdraw cash without going to the bank and this is one of many other benefits of being the bank.

Get cash or transfer all for free without joining banking hall queues.

  • Cash withdrawals
  • Cash deposits
  • Cash transfers
  • Access loans
  • Manage transactions
  • Transact securely

Flutter

Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.

This project is built with flutter.

To check if you have flutter installed, run

flutter doctor 

if you don't have flutter installed and setup, follow this: How to setup Flutter

How to Use

Step 1:

Download or clone this repo by using the link below:

https://github.com/JustineUgo/cashir_quiz.git

Step 2:

Go to project root and execute the following command in console to get the required dependencies:

flutter pub get 

Step 3:

Connect your mobile phone or emulator and run this command:

flutter run

Modules

  • Home
  • History - convers past quizzes answered, with the score
  • Questions - covers the generation of the quizzes

Details

Folder Structure

Here is the core folder structure which flutter provides.

flutter-app/
|- android
|- assets
|- build
|- ios
|- lib
|- test
|- web

Here is the folder structure we have been using in this project

lib/app
|- data/
|- modules/
|- routes.dart

Now, lets dive into the lib folder which has the main code for the application.

1- constants - All the application level constants are defined in this directory with-in their respective files. This directory contains the constants for `theme`, `api endpoints`, `preferences` etc.
2- modules - Contains the 3 different modules of the app. 
3 - routes.dart — This file contains all the routes for your application.

Constants

This directory contains all the application level constants. A separate file is created for each type as shown in example below:

constants/
|- alerts.dart
|- end_points.dart
|- images.dart
|- stylings.dart

Modules

Contains the 3 different modules of the appplication.

modules/
|- history/
|- home/
|- questions

Folders found in each module:

controllers - this is where the logic of the app is written.
views - contains the ui of the module. 
providers — contains the network calls.
models - contains the application's dynamic data structure

Routes

This file contains all the routes for your application.

routes/
|- app_pages.dart
|- app_routes.dart

Main

This is the starting point of the application. All the application level configurations are defined in this file i.e, theme, routes, title, orientation etc.

Conclusion

I will be happy to answer any questions that you may have on this project. 🙂

If you liked my work, don’t forget to ⭐ star the repo.

cashir_quiz's People

Contributors

justineugo avatar

Stargazers

 avatar xtechnology avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.