Giter Site home page Giter Site logo

iresharma / learners-digital-app Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 525 KB

Repo to provide some insight about the learner digital detect app

Home Page: https://play.google.com/store/apps/details?id=com.learners.digital

appdev flutter edtech edtech-frontend

learners-digital-app's Introduction

Learner's Digital App

An Edtech solution for PU students where they can visualize and learn basic topics like matrices and score better.

Try it

Tech Stack

New things I Learnt

  • Type Save http calls in flutter using something called chopper for flutter which is dubbed retrofit for flutter

    • here's my blog on the same blog
  • MVP (Model-View-Presentor) architecture for flutter

    • here's my blog on the same blog
  • Caching in flutter using [HiveDb]

Major Setbacks and solutions

Latex Support

All flutter packages for latex support use webviews, which completely makes sense as flutter is not an html renderer and hence to render such content we can open a webview to render using js libraries. Now the first problem we faced was these packages only being able to use raw strings the initial version of the app had a random problem generator and hence I was generating latex syntax on the go. Unlike js, dart doesn't support/have string.raw() and hence I couldn't figure out any way to convert a generated string into a raw string. But luckily requirements changed and now we were keeping a fixed set of questions on our db and using them, so the solution was sending raw strings from our Mode (Express) based server. Initially for 1 or 2 Matrices -> Latex -> Web view per page were ok, but then as the app matured we had pages where we had more than 3 or 4 webviews per page which ended up slowing down the app considerably. This was a mojor setback but overcame this, initial solution was a python based microservice which could render latex and return an image (png) over https -- Perfect ? No Life isn't that easy this service used a system dependency called WKHTMLtoPDF along with an image processing py dependency called Pillow the problem was we had to use heroku for our hosting and we couldn't how setup such an environment on heroku (I am aware that heroku supports containers but given the time crunch that looked like too much work) but finally we found an open Node.js based docker which does the same so that's how we solved this

ScreenShots

SplashScreen

Auth and Intro

Auth Intro

Home and Profile

Home Profile

Menus

1 2

Question Screens

1

Team

Contributions to main app

learners-digital-app's People

Contributors

iresharma avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  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.