All Projects → tsinis → colors_ai

tsinis / colors_ai

Licence: MIT license
Color scheme generator that uses deep learning from Colormind and Huemint APIs 🤖 UI is made with Material Design 3 (Material You).

Programming Languages

dart
5743 projects
C++
36643 projects - #6 most used programming language
CMake
9771 projects
HTML
75241 projects
ruby
36898 projects - #4 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to colors ai

compose-actors
🤖 Android app built with jetpack 🚀 compose follows new revamped guide to app architecture. Implemented with State, Coroutines ➰, ViewModels, Repository pattern, Light/Dark theme 🌈 MD3, Animations, Draw on canvas, Custom layouts, UI state handling, 🌀 Image loading with coil, Palette 🎨 usage and dynamic theming etc.
Stars: ✭ 80 (+122.22%)
Mutual labels:  material-design-3
MusicX
MusicX is a music player 🎵 android app built using Kotlin and Jetpack Compose. It follows M.A.D. practices and hence is a good learning resource for beginners
Stars: ✭ 85 (+136.11%)
Mutual labels:  material3
accrescent
A novel Android app store focused on security, privacy, and usability
Stars: ✭ 208 (+477.78%)
Mutual labels:  material3
doodle-android
Colorful live wallpapers with auto dark mode and power-efficient animations
Stars: ✭ 440 (+1122.22%)
Mutual labels:  material-you
Color-Pic
Generate color palettes with image recognition
Stars: ✭ 21 (-41.67%)
Mutual labels:  colormind
RocketXDelight-Playground
Native Android application built with Kotlin and Jetpack Compose. This project also illustrates the usage of advanced libraries such as Ktor, SqlDelight, Hilt, etc with the recommended practices and Unit Tests.
Stars: ✭ 37 (+2.78%)
Mutual labels:  material3
Imomoe
樱花动漫第三方安卓Android客户端,不含广告,免费开源,目的是学习Android开发。Discord:https://discord.gg/MyaRtRGEzr
Stars: ✭ 996 (+2666.67%)
Mutual labels:  material-design-3

Codecov CodeFactor Tests Codemagic build status Google Play Store Snapcraft Releases License: MIT

Video

Get it on Google Play Get it from the Snap Store Get it from Microsoft

Or download signed binaries for all mainstream platforms in the Releases section of this repository.

Colors AI 🎨🤖

Table of content

Description

Colors AI is a cross-platform color scheme generator that uses deep learning from from public API providers. Application is made with Flutter™ SDK and available for all mainstream operating systems, mobile included.

Features:

  • Choose from open APIs, with the ability to set up custom settings
  • Export section with many export formats to save or clipboard copy
  • URL providers to other static color generators
  • Localized to several languages
  • Dark and light theme
  • Material Design 3
  • Data encryption
  • Accessibility
  • And much more

Technical Data

Architecture

Architecture App is made with a reactive style BLoC pattern, in four-layered architecture. User events are passed to Blocs, which are processing inputs to repositories and waiting (async mostly, since we are fetching, parsing data from REST API) for their response from the data layer. After that Blocs mapping the states according to repository response. Data layers are not linked to Flutter itself, they are abstracted from the framework and using pure Dart dependencies only. Also, no dependency injectors are used in this app either.

Directory Structure

The application uses a feature-driven directory structure. This project structure allows to scale the project by having self-contained features.

Tests

More than 90% of the application is covered by hundreds of tests, you can find here: Unit (mainly), Widget, Golden and Integration tests.

Accessibility

The app was originally designed to be accessible by WCAG 2.1 AA standards at minimum, and AAA in particular, although it was not intended to be used by the blind or by people with severe visual disabilities. All texts have a contrast ratio at least of 4.5, images 3.0, touch target sizes of at least 48dp. The application was audited physically on a first-generation iPhone SE (smallest iPhone at this moment) with maximum font size, thickness, contrast, and component magnification. The audit was also performed on the macOS version of the app, using the same Accessibility Inspector as on the iOS. The report from the official Accessibility Scanner for Android (with a tested device with screen size 640x320px and maximum UI and font scale) can be found at resources/accessibility folder. As you may see it will only complain about the small tap size of text links in the About app section and overall screen semantics (which is a framework bug). Also, the application is translated into 4 languages, have a haptic feedback (vibration) on mobile devices and sound feedback on all platforms. The UI was also built to be controllable via keyboard/input device/remote control/gamepad, however, in the future, I'm planning to improve the control via the input devices.

How to run it

Flutter 3 or higher is assumed to be installed. Please run this command from the project's folder, in your terminal:

flutter pub get
flutter gen-l10n
flutter run

Platform Specific Setup

You should run all platforms (except Linux) versions of the app without any additional steps.

  • For Linux builds you will need to install those packages first (via sudo apt-get install): clang, cmake, unzip, curl, ninja-build, pkg-config, libgtk-3-dev, liblzma-dev, libgstreamer1.0-dev, libgles2-mesa-dev, libgstreamer-plugins-base1.0-dev, libsecret-1-dev, libjsoncpp-dev. If you want to run app from this binary, you will also need libsecret-1-0 and libjsoncpp1. Please do not use a Snap version of Flutter, since it have a locked CMake version at this moment. So basically you can just run:
sudo apt-get update -y
sudo apt-get --assume-yes --fix-missing install libgles2-mesa-dev clang cmake unzip curl ninja-build pkg-config libgtk-3-dev liblzma-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsecret-1-dev libjsoncpp-dev libsecret-1-0 libjsoncpp1

Design

All animations here are made with pure Flutter. The application's UI is designed with "gesture-first" UX on mobile platforms and strictly following Material Design 3 (Material You) Guidelines. Neutral grey color UI is used here to not disrupt user's color perception with highly contrasting light or dark themes.

To-Do Section

  • Refactor.
  • Use Freezed for more Events/States.
  • Separate data layer more.
  • Create more interfaces for Data and Repository layers.
  • Add exports to PDF and PNG.
  • L10N.

You can also find a few more specific TODOs in source code files.

Licenses

This project is released under the terms of the MIT license. All assets (as sounds, fonts) licensed and are free for personal use. You can find LICENSE files in their folders.

Attributions

The following is a list of sound assets used in this application and their proper attribution.

"Material Product Sounds" by Google is licensed under CC BY 4.0

Assets Used (converted from original WAV to MP3):

  • notification_high-intensity.mp3
  • notification_simple-02.mp3
  • ui_lock.mp3
  • ui_refresh-feed.mp3

Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].