NoteKeeper is a simple, web-based note-keeping system that provides user authentication, JSON-based data storage, and an intuitive interface. This project is built in PHP with Object-Oriented Programming (OOP) principles and an MVC (Model-View-Controller) architecture.
- User Authentication: Login and registration functionality with secure password hashing.
- Note Management: Users can create, view, and delete their notes.
- JSON Data Storage: Data is stored in JSON files instead of a traditional database.
- Security Measures: CSRF tokens, input validation, and XSS attack prevention.
- Language: PHP
- Architecture: OOP with MVC structure
- Data Storage: JSON files
- Session Management: PHP-based session handling
note-keeper/
├── public/ # Public directory for web server access
│ ├── add_note.php
│ ├── auth.php
│ ├── delete_note.php
│ ├── index.php
│ ├── logout.php
│ └── register.php
│
├── src/ # Application core
│ ├── App/ # Core application logic
│ │ ├── Models/
│ │ │ ├── User.php
│ │ │ └── Note.php
│ │ ├── Views/
│ │ │ ├── auth/
│ │ │ │ ├── login.php
│ │ │ │ └── register.php
│ │ │ ├── notes/
│ │ │ │ └── dashboard.php
│ │ │ └── templates/
│ │ │ │ ├── header.php
│ │ │ │ └── footer.php
│ │ ├── Core/ # Core components
│ │ │ └── App.php
└── data/
├── users.json # JSON file for storing user data
└── notes.json # JSON file for storing notes
- Clone the repository:
git clone https://github.com/amormul/note-keeper.git