Git Product home page Git Product logo

brain-basket's Introduction

brain-basket

A responsive website built using Flutter. Firebase was used as the backend to storage the data. It also had integrations with SDKs for shipment(Shiprocket) and Payment (Razorpay).

style: lint

brain-basket's People

Contributors

mnttnm avatar

Watchers

 avatar

brain-basket's Issues

Razorpay account activation

Currently in test mode. Make it live.

Need a few info about the company, website URL, pan and business details etc.

Use a feature first project structure

Up to you of course but my suggestion would be feature-first over function-first, the former seems to be popular, I find it better but if you have a preference don't let me sway you.

The new flutter skeleton app uses feature-first, which I think cam from some user research, eg:
https://issueexplorer.com/issue/brianegan/new_flutter_template/10

One of the answers in there is particularly good:


I've used the function first approach in the past and have switched to the feature first quite some time ago (feature first and inside each feature-folder, a function first style structure). From my experience the feature first approach is better due to a couple of reasons:

Discoverability

When looking for a class, is usually easier to build a mental model around features versus layer (naming, layer separation, and other architectural decisions are always very opinionated). It's usually easier to categorize it by a feature than the specific layer.

Folder size

Sorting by function usually results in big folders containing a lot of files, and therefore making it harder to navigate

What gets modified together is together

From experience, it is very unusual to only modify a specific layer. In most apps, most work is done on features. That includes the whole stack of that feature (sometimes even ranging into the backend if you are using firebase). Having all files that are being changed together just helps maintain the mental model of the change.

Recursive structure

I personally really like a recursive feature model - where each feature has a specific layout by functions, but can also contain sub-features with the same layout. In this model, the whole app itself is just a feature.

  • app_feature (not really called like this in the app)
    • search_feature
      • very_specific_variation_of_search_feature
    • other_feature

This also illustrates a dependency hierarchy where each feature can only depend on its parent. Anything globally accessible (for example the user management) is inside the app_feature

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.