Skip to content

zakaria-stack/students_notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 StudentNote

StudentNote is a modern, web-based application designed to help students organize their academic life. It allows users to create modules (subjects), manage notes, and track their study progress in a beautiful, responsive interface.

StudentNote Dashboard

✨ Features

  • 🔐 Secure Authentication: User registration and login system.
  • 📊 Interactive Dashboard: Get a quick overview of your modules, recent notes, and stats.
  • 📁 Module Management: Organize your notes by subjects or modules. Create, edit, and delete modules with ease.
  • 📝 Smart Note Taking: Create rich text notes linked to specific modules.
  • 🎨 Premium Design: A modern, responsive user interface with:
    • Smooth gradients and animations.
    • Dark/Light mode aesthetic elements.
    • Mobile-responsive layout.
  • 👤 User Profile: Manage your personal information.

🛠️ Technology Stack

  • Frontend: HTML5, CSS3 (Custom Premium Design), JavaScript (Vanilla)
  • Backend: PHP (Native)
  • Database: MySQL
  • Server: Apache (via XAMPP/WAMP)

📂 Project Structure

students_notes/
├── app/
│   ├── admin/          # Admin functionality
│   ├── auth/           # Authentication (Login/Register)
│   ├── db/             # Database connection & config
│   ├── modules/        # Module CRUD operations
│   ├── notes/          # Note CRUD operations
│   ├── profile/        # User profile management
│   └── views/          # General views (Dashboard, Landing)
├── css/
│   ├── pages/          # Page-specific styles (Dashboard, Modules)
│   └── base.css        # Global styles and variables
├── images/             # Assets and logos
├── js/                 # Client-side scripts
├── index.php           # Entry point (Redirects to landing)
└── README.md           # Project documentation

🚀 Getting Started

Prerequisites

  • XAMPP or WAMP installed (PHP >= 7.4, MySQL).
  • A web browser.

Installation

  1. Clone the repository (or extract files) to your web server's root directory (e.g., C:\xampp\htdocs\students_notes).

  2. Database Setup:

    • Open phpMyAdmin (http://localhost/phpmyadmin).
    • Create a new database named student_notes.
    • Import the database schema (Run the following SQL):
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL UNIQUE,
        password VARCHAR(255) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    
    CREATE TABLE `admins` (
     `id` int(11) NOT NULL,
     `username` varchar(50) NOT NULL,
     `password` varchar(255) NOT NULL,
     `email` varchar(100) NOT NULL,
     `role` varchar(50) DEFAULT 'admin',
     `admin` varchar(30) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
    
    CREATE TABLE modules (
        id INT AUTO_INCREMENT PRIMARY KEY,
        user_id INT NOT NULL,
        name VARCHAR(100) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
    );
    
    CREATE TABLE notes (
        id INT AUTO_INCREMENT PRIMARY KEY,
        user_id INT NOT NULL,
        module_id INT NOT NULL,
        title VARCHAR(255) NOT NULL,
        content TEXT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
        FOREIGN KEY (module_id) REFERENCES modules(id) ON DELETE CASCADE
    );
  3. Configuration:

    • Open app/db/config.php.
    • Ensure the database credentials match your local setup:
      define('DB_HOST', 'localhost');
      define('DB_USER', 'root');
      define('DB_PASS', '');
      define('DB_NAME', 'student_notes');
  4. Run the Application:

    • Open your browser and navigate to: http://localhost/students_notes

🎨 Design System

The project uses a custom CSS design system located in css/base.css. Key design tokens include:

  • Primary Gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
  • Font Family: System UI stack (San Francisco, Segoe UI, Roboto)
  • Components: Reusable classes for cards, buttons, and form elements.

🤝 Contributing

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published