An open API service indexing awesome lists of open source software.

https://github.com/lillysilly3/simple-note-app

A simple command-line note-taking app built in Ruby. You can add, edit, delete and view notes - all saved persistently between sessions.
https://github.com/lillysilly3/simple-note-app

cli crud notes-app ruby

Last synced: 9 days ago
JSON representation

A simple command-line note-taking app built in Ruby. You can add, edit, delete and view notes - all saved persistently between sessions.

Awesome Lists containing this project

README

          

# Simple Note App

A command-line note-taking application built in Ruby. Add, edit, delete and view notes — all stored persistently on disk.

## Features

- Add notes
- Edit existing notes
- Delete notes with confirmation prompt
- View all notes with timestamps
- Notes persist between sessions using PStore

## Demo

```
########## Simple Note Application ##########
a) Add
b) Edit
d) Delete
s) Show All
q) Quit

> a
Note: Buy groceries

> s
------------------------ 1 ------------------------
Date: 2026-06-03 12:00:00
Note: Buy groceries
------------------------------------------------------

> b
Enter Index Number to edit: 1
Note: Buy groceries and cook dinner
********************Entry Updated********************

> d
Enter Index Number to delete: 1
Are you sure? (y/n): y
********************Entry Deleted********************

> q
#################### Goodbye! ####################
```

## Prerequisites

- Ruby 2.7+
- PStore (included in Ruby standard library — no extra install needed)

## Getting Started

```bash
git clone https://github.com/lillysilly3/simple_note_app
cd simple_note_app
ruby main.rb
```

## Project Structure

- `main.rb` - Entry point
- `application.rb` - Main application loop
- `menu.rb` - User interaction and menu actions
- `manager.rb` - Business logic layer
- `database.rb` - PStore persistence layer
- `note.rb` - Note model

## What I Explored

- Object-oriented Ruby design with classes and modules
- Separating concerns across model, database, and application layers
- Persisting data with Ruby's built-in PStore
- Input validation and error handling

## Acknowledgments

This project was built following the [Ruby tutorial by Best Tutorials](https://www.youtube.com/watch?v=MXlZCgh2M6A) on YouTube.