Skip to content

Repository files navigation

📝 Personal Notes Management Web Application

A full-stack PHP and MySQL based web application that enables users to securely create, organize, update, and delete personal notes with image attachments.

The application provides user authentication, session management, password security, note organization, and file upload functionality through a simple and responsive interface.


🚀 Features

User Authentication

  • User Registration
  • Secure Login System
  • Password Hashing
  • Session-Based Authentication
  • Logout Functionality

Notes Management

  • Create Notes
  • View Personal Notes
  • Update Existing Notes
  • Delete Notes
  • User-Specific Data Access

Media Support

  • Image Uploads
  • Image Storage Management
  • Note Attachments

Security Features

  • Password Encryption using PHP Password Hashing
  • Session Validation
  • User Authorization
  • Protected Pages

User Experience

  • Responsive Interface
  • Form Validation
  • Clean Dashboard Layout
  • Easy Navigation

🏗️ System Architecture

User
 │
 ▼
Authentication
(Register/Login)
 │
 ▼
Session Management
 │
 ▼
Notes Dashboard
 │
 ├── Create Notes
 ├── View Notes
 ├── Update Notes
 ├── Delete Notes
 └── Upload Images
 │
 ▼
MySQL Database

📊 Database Design

Users Table

Field Type
user_id INT (PK)
username VARCHAR
email VARCHAR
password VARCHAR

Notes Table

Field Type
note_id INT (PK)
user_id INT (FK)
note_text TEXT
image_path VARCHAR
date_created TIMESTAMP

Relationship

One User
    │
    ▼
Many Notes

🛠️ Technology Stack

Frontend

  • HTML5
  • CSS3
  • JavaScript

Backend

  • PHP

Database

  • MySQL

Development Environment

  • XAMPP
  • Apache Server
  • phpMyAdmin

📂 Project Structure

Personal Notes Management Web Application
│
├── uploads/
│
├── db.php
├── register.php
├── login.php
├── logout.php
├── landing.php
├── update_note.php
├── delete_note.php
├── validation.js
├── style.css
├── styles.css
└── notes_app.sql

🔐 Authentication Flow

Register Account
      │
      ▼
Login
      │
      ▼
Session Created
      │
      ▼
Access Dashboard
      │
      ▼
Manage Notes
      │
      ▼
Logout

⚙️ Installation

Clone Repository

git clone https://github.com/bensebastian21/se.git

Move Project

Place the project folder inside:

xampp/htdocs/

Database Setup

  1. Start Apache and MySQL in XAMPP.
  2. Open phpMyAdmin.
  3. Create a database:
notes_app
  1. Import:
notes_app.sql

Configure Database Connection

Update the database credentials in:

db.php

Example:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "notes_app";

Run Application

Open browser:

http://localhost/se

🎯 Learning Outcomes

This project helped in understanding:

  • CRUD Operations
  • User Authentication Systems
  • Password Security
  • Session Management
  • Relational Database Design
  • File Upload Handling
  • Frontend Validation
  • Backend Development using PHP
  • MySQL Database Integration

🔮 Future Enhancements

  • Rich Text Editor
  • Search Functionality
  • Note Categories
  • Tags System
  • Dark Mode
  • PDF Export
  • Cloud Storage Integration
  • Note Sharing
  • User Profile Management

👨‍💻 Developer

Ben Sebastian

MCA Graduate | MERN Stack Developer | Aspiring Software Engineer

Connect With Me

LinkedIn: https://www.linkedin.com/in/bensebastian21

GitHub: https://github.com/bensebastian21


📄 License

This project was developed for educational and learning purposes.


⭐ If you found this project useful, consider giving it a star.

About

A PHP and MySQL web application for securely creating, managing, updating, and deleting personal notes with image attachments, user authentication, session management, and CRUD functionality.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages