A modern, intuitive note-taking application built with PHP and MySQL. Create, organize, and share your notes seamlessly.
- Secure Authentication - Sign up, login, password reset functionality
- Public Sharing - Share your thoughts through your notes anytime and anywhere.
- Note Management - Create, edit, delete, and organize your notes
- Rich Text Editor - Format your notes with a powerful WYSIWYG editor
- Note Sharing - Share notes publicly with anyone via secure links
- Tags & Search - Organize notes with tags and find them quickly
- Responsive Design - Works perfectly on desktop and mobile devices
- Dark/Light Mode - Choose your preferred visual theme
- PHP 7.4+
- MySQL 5.7+
- Apache/XAMPP/WAMP server
- Composer
- Clone the repository:
git clone https://github.com/TechyCSR/Notes-Making-Web-App
cd NotesApp
- Install dependencies:
composer install
-
Configure database:
- Open
config/config.php
- Update database settings:
define('DB_HOST', 'localhost'); define('DB_NAME', 'notes_app'); define('DB_USER', 'root'); define('DB_PASS', '');
- Open
-
Initialize database:
php config/init_db.php
-
Set up email configuration (for password reset):
- Update SMTP settings in
config/config.php
- Update SMTP settings in
-
Launch the app:
- Place in your web server directory (e.g., XAMPP htdocs)
- Visit
http://localhost/NotesApp
- Password hashing with bcrypt
- PDO prepared statements to prevent SQL injection
- CSRF protection
- XSS prevention
- Rate limiting for login attempts
- Secure session management
- Backend: PHP, MySQL
- Frontend: HTML5, CSS3, JavaScript
- Libraries: TinyMCE (rich text editor), Bootstrap (responsive design)
- Tools: Composer (dependency management)
NotesApp/
├── assets/ # CSS, JS, images
├── config/ # Configuration files
├── includes/ # PHP utilities
├── models/ # Database models
│ ├── User.php # User authentication
│ └── Note.php # Note management
├── vendor/ # Composer dependencies
└── views/ # Frontend templates
This project is licensed under the MIT License - see the LICENSE file for details.