All Projects → OmkarPathak → A-Simple-Note-Taking-Terminal-App

OmkarPathak / A-Simple-Note-Taking-Terminal-App

Licence: GPL-3.0 License
A simple terminal note taking application using Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to A-Simple-Note-Taking-Terminal-App

Cyanhall
Content List on Cyanhall, Star me if it’s useful ★ Cheatsheets
Stars: ✭ 39 (+56%)
Mutual labels:  notes
notes
keep thinking but sunset it and move to
Stars: ✭ 29 (+16%)
Mutual labels:  notes
pdf
This is web application, micro-stackoverflow, built with Spring MVC 5, Hibernate 5, AOP and Spring Security etc . Unregistered user can search for questions and look into details including answer however registered member can post questions and answers.
Stars: ✭ 24 (-4%)
Mutual labels:  mysql-database
CodeSignal-Solutions
CodeSignal solutions
Stars: ✭ 112 (+348%)
Mutual labels:  mysql-database
USTC-CS-Resources
USTC计算机学院 个人学习资料分享
Stars: ✭ 86 (+244%)
Mutual labels:  notes
arsenal
Personal notes on cloud and machine learning 📃 🐝
Stars: ✭ 24 (-4%)
Mutual labels:  notes
notey.app
📝 A notes app to keep track of important things
Stars: ✭ 17 (-32%)
Mutual labels:  notes
quillnote
Take beautiful markdown notes and stay organized with task lists.
Stars: ✭ 276 (+1004%)
Mutual labels:  notes
Noted-Android
Noted app for android
Stars: ✭ 78 (+212%)
Mutual labels:  notes
zNotes
zNotes is a lightweight cross-platform application for notes management.
Stars: ✭ 17 (-32%)
Mutual labels:  notes
andresrodriguez55.github.io
Personal blog and portfolio with administration panel, notification system and comment system.
Stars: ✭ 18 (-28%)
Mutual labels:  notes
Keyist-Ecommerce
🔑 A simple ecommerce site powered with Spring Boot + Angular 10 + Ngrx + OAuth2
Stars: ✭ 220 (+780%)
Mutual labels:  mysql-database
eggheadio-course-notes
Really Good Notes on egghead.io courses 🌱
Stars: ✭ 125 (+400%)
Mutual labels:  notes
resumen-estudios-git
Resumen estudios Git
Stars: ✭ 28 (+12%)
Mutual labels:  notes
jobs
👨‍💻 jobs jobs jobs 👩‍💻
Stars: ✭ 123 (+392%)
Mutual labels:  notes
learning-growth
主要是我的一些阅读、学习、社交、研究、思考、放松娱乐记录整理。
Stars: ✭ 73 (+192%)
Mutual labels:  notes
learning notes
学习笔记
Stars: ✭ 18 (-28%)
Mutual labels:  notes
C
Computer Programming, Khwopa College of Engineering
Stars: ✭ 12 (-52%)
Mutual labels:  notes
foam-template-gatsby-theme-primer-wiki
Another Foam template that use gatsby-theme-primer-wiki
Stars: ✭ 20 (-20%)
Mutual labels:  notes
hackthepiano
Learn reading notes on the fly fast and easy
Stars: ✭ 18 (-28%)
Mutual labels:  notes

A-Simple-Note-Taking-Terminal-App

A simple terminal note taking application using Python

Python

Features:

  • Simple command line application.
  • Easy to install and very easy to use.
  • Written in simple Python. Even a beginner Python developer can contribute to this.
  • Support for MySQL/SQLite/Postgresql, so you can easily play with it.

Requirements:

  • Execute the following command to install the required third party libraries:
    pip3 install -r requirements.txt

  • For sending emails you will need the built-in smtplib

  • For scheduling emails, you will need to assign the schedule using Crontabs. You can do it manually, but I had used Python-Crontab module to do the job. You can install by:
    pip3 install python-crontab

  • For sending mails via Python, you will first have to change Gmail settings to receive mails via Python. This can be done by visiting the following url and turning the option on: https://myaccount.google.com/lesssecureapps?pli=1

Procedure:

  1. First and the most important step is to create a database for storing our notes. I have used MySQL due to its simplicity, but you can use any database you are comfortable. Just ensure to change the code accordingly. For creating our table, first make a database and then just copy and paste the following schema. This will create a table named notes in your database. You can find the schema here
CREATE TABLE `notes` (
`id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created` TIMESTAMP DEFAULT '0000-00-00 00:00:00',
`updated` TIMESTAMP DEFAULT now() ON UPDATE now(),
`note` VARCHAR(255),
`tags` VARCHAR(200)
);

If you are using SQLite/ Postgresql, no need of manual configuration. Creation of DB and its configuration will be done automatically using the code itself.

  1. If you want to use the email feature, you will have to run the ScheduleEmail.py file (You will have to run this file only at the beginning.). This file will ask you for your password of your Email ID (Password is saved in the file password.txt in the encrypted form). Also, this file will set the Cron Job to check the time after every single minute. When the date and time matches the one from the Schedules.txt file, you will get a reminder in the form of mail.

  2. Else, you can simply run the NoteTakingApp.py file. This app provides following options:

Options Description
-a 'New Note in Quotes' 'Tag in Quotes' Adds a new note to the Database
-r To read all the notes from the database
-rc To read all the notes from the database (One by one)
-u [id] 'Updated Note in quotes' Updates an already stored note in the database based on id
-d [id] Deletes a specific note based on its id
-ut [id] 'Updated Tag in Quotes' Updates an already existing tag of a note
-rt Read all the distinct tags from the database
-st 'Tag with which note is to be searched in Quotes' Search notes using tags
--reminder 'Note in Quotes' 'Date(dd-mm-yyyy) [SPACE] Time(hh:ss)' This will set a reminder which will send an email at the specified time and day

Built with by Omkar Pathak

Donation

If you have found my softwares to be of any use to you, do consider helping me pay my internet bills. This would encourage me to create many such softwares :)

PayPal Donate via PayPal!
₹ (INR) Donate via Instamojo
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].