Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gianmen91/cinnamon_rolls_shop

App inspired by Cinnamood - Cinnamon Roll Shop developed by using Provider for state management
https://github.com/gianmen91/cinnamon_rolls_shop

cinnamon dart flutter github-actions hero-widget provider provider-state-management widget-testing

Last synced: 5 days ago
JSON representation

App inspired by Cinnamood - Cinnamon Roll Shop developed by using Provider for state management

Awesome Lists containing this project

README

        

# Cinnamood - Cinnamon Rolls Shop

## Overview

[![License](https://img.shields.io/github/license/GianMen91/cinnamon_rolls_shop)](https://github.com/GianMen91/cinnamon_rolls_shop/blob/master/LICENSE)
[![Version](https://img.shields.io/github/v/release/GianMen91/cinnamon_rolls_shop)](https://github.com/GianMen91/cinnamon_rolls_shop/releases)
[![Workflow Status](https://img.shields.io/github/actions/workflow/status/GianMen91/cinnamon_rolls_shop/ci.yml?branch=master)](https://github.com/GianMen91/cinnamon_rolls_shop/actions)
[![Platform](https://img.shields.io/badge/platform-flutter-02569B)](https://shields.io)
[![Flutter SDK](https://img.shields.io/badge/flutter-%3E%3D3.0.0-blue)](https://pub.dev/packages/cinnamon_rolls_shop)
[![Contributors](https://img.shields.io/github/contributors/GianMen91/cinnamon_rolls_shop)](https://github.com/GianMen91/cinnamon_rolls_shop/graphs/contributors)
[![Last Commit](https://img.shields.io/github/last-commit/GianMen91/cinnamon_rolls_shop)](https://github.com/GianMen91/cinnamon_rolls_shop/commits)

"Cinnamood - Cinnamon Rolls Shop" is an application I developed with **Flutter** that uses **Provider** for state management.
It is inspired by the renowned [Cinnamood](https://cinnamood.de) shop in Berlin and brings the delectable experience of exploring and virtually shopping for mouth-watering cinnamon rolls.
The app captures the essence of the Cinnamood shop, featuring a user-friendly interface, a diverse product catalog, and a dynamic cart system.
I used **Hero Widget** for creating smooth, visually appealing transitions between screens by animating a shared element.
**CI/CD** with **GitHub Actions**.

## Screenshots

## Features

- **User-Friendly Interface**: Enjoy an intuitive and visually appealing design for a seamless user experience.
- **Product Catalog**: Browse through a diverse range of cinnamon rolls, each with its unique flavor and description.
- **Dynamic Cart System**: Easily manage your cart by adding items, updating quantities, and removing items with convenience.
- **Type Filters**: Explore cinnamon rolls conveniently categorized into "Cinnamon Rolls," "Fruity Rolls," and "Next Level Rolls."
- **Search Functionality**: Quickly find your favorite rolls using the efficient search feature.

## UI Design

The UI design is inspired by [this YouTube video](https://www.youtube.com/watch?v=XBKzpTz65Io).

## Content Attribution

All cinnamon roll images, names, descriptions, and colors are sourced from the official [Cinnamood shop webpage](https://cinnamood.de/en/our-rolls/).

## Technologies Used

- **Flutter**: A powerful UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
- **Hero Widget**: A built-in Flutter widget used for creating smooth, visually appealing transitions between screens by animating a shared element.
- **Provider Package**: State management library for managing and listening to changes in the app state.
- **Badges Package**: Widget for displaying badges, enhancing the shopping cart icon.
- **Linting**: The codebase adheres to best practices and coding standards using lint rules.
- **Widget Tests**: Extensive use of widget tests to ensure the robustness of the UI components, behaviors, and overall application functionality.

## Responsiveness

The app is designed to work seamlessly across various screen sizes, providing a consistent and enjoyable experience on both small and large devices.

## Future Enhancements

- Checkout Process: Implement a complete checkout process for users to finalize their orders.
- User Authentication: Add user authentication for personalized experiences.
- Localization: Support multiple languages for a broader user audience.