/rɔːdɪkiəʊ/
concept playground for yet another RAW photo library and editor made with web technologies
Note: This is a pet project, do not expect regular updates or issue support
- ease of use with sensible defaults
- modularity and open
- workflow-driven editing process
- highly customisable with sensible of defaults
- workflow-driven user experience
- smooth switch between workflows
- customisable workflow interface
- module-driven editing process
- easy to use default mode as inspired by Lightroom and Luminar
- pro mode that resembles Darktable's in-depth capabilities
- open and clean library structure
- non-destructive workflow
- open sidecar file (.xmp) for compatibility
- central library file for caching and quick navigation
Editor | Notes |
---|---|
Capture One | + great user interface + license without subscription available |
Darktable | + powerful editing modules + xmp sidecar file - steep learning curve (filmic) |
FastRawViewer | + histogram based on RAW edits |
Lightroom CC | + great user interface + powerful editing algorithms - expensive subscriptions for personal use |
Luminar | + great user interface - slow processing speed - broken gallery thumbnails |
Picturama | + built with Electron + fast and easy to use |
RawTherapee | - steep learning curve |
Before starting into development, please check for the following dependencies:
asdf # (optional) version manager for node and yarn (see .tool-versions)
VSCode # (optional) editor SDKs included for Yarn
Now, you can start the app:
# install dependencies
yarn
# create .env file (see .env.sample)
touch packages/app/.env
nano packages/app/.env
# create development database (also: https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgres)
npx prisma migrate dev --name init
# start up the application
yarn start:app
# create a new component
yarn new
As a result, you should see a native Electron window with the React application running inside.
This is an incomplete list of the current tech stack:
- Electron (build native applications from web technologies)
- Nodemon (automatically reload on configuration changes)
- Plop (code consistency for new components)
- Prisma (handling of the library)
- React
- Tailwind CSS (utility-first styling within small components)
- TypeScript
- Webpack