Code Monkey home page Code Monkey logo

paletti's Introduction

Paletti

Paletti is an intuitive app designed to help you capture and save the colors around you. By simply scanning your surroundings, Paletti allows you to instantly view and save the colors you discover, along with their corresponding names and hex codes. Whether you're a designer or just love colors, Paletti is the perfect tool for exploring the world of color.

Features

  • Scan your surroundings to create palettes from colors around you.
  • Generate palettes from your saved images.
  • Compare two colors using various components such as charts, navbar, cards, and buttons.
  • Organize colors by creating multiple palettes
  • Sync your palette collection across all your devices using your iCloud account.
  • Capture and save screenshots of your palettes and palette collection.
  • Share color collection with others on various social media and messaging apps.
  • Access Paletti's features through a simple and intuitive interface.

Try it!

Download the repository and run the following commands to try Paletti for yourself:

iOS

yarn setup

Project structure

This is a bare React Native project, created with npx react-native init.


  • ๐Ÿ“ src: Contains the actual TypeScript + React (-Native) front-end for the Paletti App.
    • ๐Ÿ“„ src/utils/pixelColor.ts: This is a JS wrapper for the native iOS PixelColor module.
    • ๐Ÿ“„ src/utils/getColor.ts: This exposes a JS function with TypeScript types that utilizes the native iOS frame processor plugin.
    • ๐Ÿ“„ src/App.tsx: This serves as the primary navigator, directing users to either the Splash Screen (Permissions) or the primary app screen, depending on their permission status.
    • ๐Ÿ“ src/screens/Splash: This directory contains the code for the Splash screen, which prompts the user for permission to use their camera.
    • ๐Ÿ“ src/screens/Eyedropper: This is the primary app screen where users can use their device's camera to view colors in their surroundings and save them.
    • ๐Ÿ“ src/screens/Palettes: Contains the code for the Palettes screen where users can view their collection of saved palettes and perform actions on them such as renaming, deleting, and exporting.
    • ๐Ÿ“ src/screens/Settings: Over here, users can customize their experience with their preferred settings such as theme, sound, and more.
    • ๐Ÿ“ src/screens/Comparator: This is where users can compare two colors using various components such as charts, navbar, cards, and buttons.

  • ๐Ÿ“ ios: Contains the basic skeleton for a React Native iOS app, plus the native getColor() Frame Processor Plugin.
    • ๐Ÿ“„ ios/PixelColor.m: Exports the native methods of the PixelColor module to JavaScript.
    • ๐Ÿ“„ ios/PixelColor.swift: Contains the actual Swift code for the native iOS PixelColor module.
    • ๐Ÿ“„ ios/PaletteFrameProcessorPlugin.m: Declares the Swift frame processor plugin "getColor()".
    • ๐Ÿ“„ ios/PaletteFrameProcessorPlugin.swift: Contains the actual Swift code for the native iOS frame processor plugin "getColor()".
    • ๐Ÿ“„ ios/Paletti-Bridging-Header.h: A Bridging Header to import Objective-C headers into Swift.
    • ๐Ÿ“„ ios/Podfile: Adds libraries such as UIImageColors

  • ๐Ÿ“„ babel.config.js: Adds the native frame processor plugin getColor (called __getColor) to Reanimated's global list.

Credits

  • Dimest and ColorSlurp for design inspirations
  • react-native-reanimated for allowing JS code to be dispatched to another Runtime (Worklets)
  • Colorwaver mobile app for providing inspiration and guidance in building some of the color-related functionality.
  • react-native-vision-camera for allowing you to run JS code on a realtime feed of Camera Frames (Frame Processors)
  • You guys for the downloads, ratings and feedbacks.

paletti's People

Contributors

codergon avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

paletti's Issues

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.