First of all, thanks for being interested in contributing !
Let's help us to make this photo library the best open source solution !
- You should not go too fast
We prepared milestones with progressive goals, and we prefer that everybody focuses on the current milestone. - Please follow the NORM.md
We are following a code norm that you must follow in order to get your contribution accepted.
Our norm is not very restrictive and aims to have a code that is coherent and readable to other contributors. - Your commit messages should be clear.
We ask you to make clear and exhaustive commit messages.
You should choose a clear title and then have a line for each change you made. Each line should be prefixed with the type of change you made like this :[ADD]
,[FIX]
, ... - We use git flow. Take a look at this article about git-flow
- For build instructions see BUILD.md
- We have a documentation that explains most of the functions behaviors here
There are multiple modules in the subproject folder, for now, there is the thumbnailer module, and the interface between sqlite (stockage) module. Theses two meant to be upgradable without modifying the main code of the library. For example, the thumbnailer has a generic thumbnail creation function that determines the image format and create automaticly the thumbnail. So adding a supported format shouldn't affect libospl
Images are worth a million words so here is a diagram for the .db file. You can also look here for a maintained version There is also a .sql file at the root directory
You can look at the current milestones here
- For all awesome ideas look at IDEAS.md
We plan to use following external libraries for making all this working:
- cwalk for managing paths on windows and unix
- sqlite for storing data
- libexif for extracting exif informations
- epeg for fast jpeg thumbnail creation (wich uses libjpeg and libexif)
- pngscale for png thumbnail creation
- libimobiledevice for importing photos from iDevices
- libraw for reading raw photos from cameras