Shelf Dev Diary #1

By: Cam Wohlfeil
Published: 2018-09-19 1200 EDT
Category: DevDiary
Tags: python, shelf

This is the first entry in a series of dev diaries on my latest and first serious project. This project is the culmination of my annoyance with having no good system to manage bookmarks, wishlists, reading lists, ebooks, and other media I want to consume across different systems. I'm constantly creating and managing lists like these on different services and I'm sick of trying to keep them in sync and updated. I want one definitive source, that I control and can access easily from anywhere.

The goal of this project is to create an easy to use, cross-platform app that keeps a synchronized database of links and documents, mainly PDFs. My primary inspiration is the Beets project, which made managing a music library much easier. The key to the success of the project will be in making it as simple as possible.

I have decided to call this project cw.shelf based on the PEP-423 ownership rule for individuals, I think shelf is the appropriate name for what this project should achieve, and a name like 'PyShelf' or something similar didn't sound appealing.

Project Scope and Features

These are the features I have decided will consitute the Minimum Viable Product. Once all these features have been implemented, I will consider it released and change the version number to 1.0.

Future Possibilities

If the desire and time are there, I may implement these in future releases based on their impact to the codebase.

References