Welcome to LastNote, the ultimate procrastinator-friendly task management terminal app you never knew you needed but now can't live without!
Tired of forgetting your plans until it's way too late? Fear not! LastNote is here to haunt your terminal with the tasks you keep running from. It'll pop up every time you open your pc
- Add Notes: Write down your big ideas or "I'll definitely do this tomorrow" moments.
- View All Notes: Remind yourself how productive you were (or weren’t).
- View Today's Notes: Get called out on the tasks you’ve been avoiding today.
- Delete Notes: Pretend they never existed.
- Humorous Terminal Presence: No more escaping from your to-dos; they’ll greet you with a warm welcome every time you open your terminal.
- Notes by ID: Tasks are saved with a unique ID in an SQLite database.
- Smart Filters: View only today’s tasks or all tasks.
- Persistent Storage: Your notes are stored in a database so they won't disappear (we hope so).
- Python 3.x installed on your machine.
- Basic knowledge of procrastination.
-
Clone this repository:
git clone https://github.com/elfat-py/lastnote/
-
Navigate to the project folder:
cd lastNote -
Install dependencies:
pip install -r requirements.txt
Make sure sqlite3 is available (it comes pre-installed with Python).
-
Compile the project into an executable (optional but recommended for deployment):
pyinstaller --onefile main.py
The compiled file will be located in the
distfolder. -
Set up automatic terminal execution:
Use the provided
startTerminalWithNotes.batbatch file for automatic startup.
The startTerminalWithNotes.bat file ensures that LastNote runs only once during a session when the computer starts. Here’s how it works:
@echo off
REM Marker file to track if the application has already run
set markerFile=C:\Users\alex\lastNote_marker.txt
REM Check if the marker file exists
if exist "%markerFile%" (
echo Application already run for this session.
exit
)
REM Create the marker file
echo "LastNote executed on %date% %time%" > "%markerFile%"
REM Run the application
cd /d "C:\path\to\project\lastNote"
start "" "dist\lastNote.exe" auto
exit- Marker File: A marker file (
C:\Users\alex\lastNote_marker.txt) is created after the program is run for the first time in a session. This prevents the program from being executed multiple times during the same session. - Check Marker File: If the marker file exists, the script exits immediately without launching the program.
- Create Marker File: If the marker file does not exist, it is created with the current date and time.
- Run the Application: The
lastNote.exeexecutable is launched in auto mode, displaying today’s notes immediately. - Session Management: The marker file ensures the program only runs once per session. You can remove the marker file manually or set up a shutdown script to delete it.
python main.pyCopy startTerminalWithNotes.bat to your Startup folder:
Windows:
shell:startup(Your auth token should be on that same folder as well.)
Reboot your system, and LastNote will greet you on the first terminal session.
dist\lastNote.exe automain.py: The heart of the app; handles user interaction.text.py: Provides UI elements and options for the user.startTerminalWithNotes.bat: Ensures the app runs automatically during system startup.lastNote_marker.txt: A marker file created during the first session to prevent multiple runs in the same session.dist\lastNote.exe: The compiled executable of the app.
- If you enter an invalid date format, the app might ask you to try again...forever.
- Running auto mode without proper setup might cause the app to close prematurely.
- Marker File Removal: If you want to re-run the app in the same session, delete the
lastNote_marker.txtfile manually. - Startup Optimization: Use the auto flag sparingly if you need more control over when the app launches.
Developed by a dev for devs