View on GitHub

Alucebur Was Here

Notebird is a desktop app aimed at managing notes of text

Download this project as a .zip file Download this project as a tar.gz file

Notebird - A note manager

Notebird is a desktop app aimed at managing notes of text. These notes can contain html tags and clickable links. The app could be ported to a larger database such as PostgreSQL or Oracle by modifying the dbhelper module.

This is my first project using the Qt framework and was solely done for learning purposes. User interfaces were created with the Qt Creator software, and they are loaded dinamically using PySide2.


How to use

The app starts at the login window. To use the application the user needs to have created an account at the sign up window. With said account, the user logs in the app at the login window, and the main window (crud window) is displayed.

The crud window is divided in 3 tabs:


Modules used


Requirements

Requires Python 3.6+ (with pip).


Installation

Clone the repository or download and extract the zip or tarball file in an empty folder on your computer.

Navigate until the recently created folder and install dependencies:

Run the application:

If you prefer it, you can start the application in dark mode. To do so, run the program with the option -d or --dark (running the program with the option -h or --help will show the help):

    pipenv run notebird/notebird.py --dark
    python notebird/notebird.py --dark

This application uses the logging module to send info to standard output. By default the log level is set to DEBUG. You can change it to INFO editing this line in notebird.py as follow:

    logging.basicConfig(format=format, level=logging.INFO)

Screenshots


Structure

├──  notebird
│    ├── db
│    │   ├── __init__.py
│    │   ├── dbhelper.py
│    │   └── helpers.py
│    ├── utils
│    │   ├── __init__.py
│    │   ├── consts.py
│    │   ├── custom_widgets.py
│    │   ├── exceptions.py
│    │   ├── pyside_dynamic.py
│    │   ├── security.py
│    │   └── validations.py
│    ├── windows
│    │   ├── avatars
│    │   │   └── 0.png
│    │   ├── interfaces
│    │   │   ├── assets
│    │   │   │   ├── icon.svg
│    │   │   │   ├── rubecula.png
│    │   │   │   ├── White_arrow_down.svg
│    │   │   │   ├── White_arrow_up.svg
│    │   │   │   └── White_dot.svg
│    │   │   ├── crud.ui
│    │   │   ├── login.ui
│    │   │   └── signup.ui
│    │   ├── __init__.py
│    │   ├── crud.py
│    │   ├── login.py
│    │   └── signup.py
│    ├── notebird.py
│    └── style.qss
├──  docs
│    ├── layouts
│    │   └── default.html
│    ├── screenshots
│    │   ├── avatar.png
│    │   ├── edition.png
│    │   ├── info.png
│    │   ├── login.png
│    │   ├── note.png
│    │   └── signup.png
│    ├── _config.yml
│    ├── 404.html
│    └── index.md
├──  .gitignore
├──  Pipfile
├──  Pipfile.lock
├──  readme.md
├──  requirements.txt
└──  UNLICENSE

License

The majority of this project code is Unlicensed, feel free to use it as you want. See exceptions below.

Images used for this project are under Public Domain:

pyside_dynamic module is a copyrighted work by Sebastian Wiesner. It was modified to make it work with PySide2.

This is a copy of its corresponding MIT license:

Copyright (c) 2011 Sebastian Wiesner lunaryorn@gmail.com

Modifications by Charl Botha cpbotha@vxlabs.com

Original version was here: https://github.com/lunaryorn/snippets/blob/master/qt4/designer/pyside_dynamic.py

Current version is here: https://gist.github.com/cpbotha/1b42a20c8f3eb9bb7cb8

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.