An open source Flutter Template for B2C App. Contents served from Tradly Headless API
Explore the docs »
Demo is coming soon
·
Report Bug
·
Request Feature
Kittiwake is a Flutter based storefront kit developed on top of Tradly API. It comes with automated CI/CD, testing, etc. You can launch a B2C, D2C e-commerce apps using this kit. You need the tenantID or Publishable API Key to test your app. Signup for a free sandbox account at Tradly.app and experiment the app.
- Flutter
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Documentation yet to be added
Documentation yet to be added
Here is the core folder structure which flutter provides. tradly_grocery_app/
- android
- build
- ios
- lib
- test
Here is the folder structure we have been using in this project lib/
- data
- domain
- presentation
Data Layer contains Repository Implementations and 1 or multiple Data Sources. Repositories are responsible to coordinate data from the different Data Sources. Data Layer depends on Domain Layer.
data/
- entities
- model
- repo
- source
- store
- utils
An entity can be an object with methods, or it can be a set of data structures and functions. It doesn’t matter so long as the entities could be used by many different applications in the enterprise.
Models are used to map the data for network request and response, network failures and exceptions.
The implementation of the repository interface will reside in the infrastructure layer (also referred to as persistence layer or data layer). The Repository pattern is a well-documented way of working with a data source. ... A repository performs the tasks of an intermediary between the domain model layers and data mapping, acting in a similar way to a set of domain objects in memory
source is act as data source consist of cache and remote source. Source are accessed from store.
Store is act as data service provider. It call remote API from remote source and update into the cache source. Returns the source from cache to the store.
Utils consists of constants which are used in data layer and helper classes.
Domain Layer is the most INNER part of the onion (no dependencies with other layers) and it contains Entities, Use cases & Repository Interfaces. Use cases combine data from 1 or multiple Repository Interfaces.
domain/
- model
- repo
- usecase
- utils
Presentation Layer contains UI (Widgets) that are coordinated by Presenters/ViewModels which execute 1 or multiple Use cases. Presentation Layer depends on Domain Layer.
presentation
- helper
- model
- ui
- utils
- view_model
- widget
"Pending information to be added"
"Pending to be added"
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Discussion: https://community.tradly.app Tradly Platform - [email protected] Project Link: https://github.com/github_username/repo_name