Alumni Management System Using HTML,CSS, BOOTSTRAP ,PHP and MYSQL

Rashmi Mishra
0



Alumni Management System

Project Overview

The Alumni Management System(AMS) is a web-based software or application designed to facilitate communication and engagement between alumni and educational institutions. The system helps to create and maintain a structured platform where institutions can stay connected with their alumni, provide updates on events or initiatives, and encourage collaboration between alumni and current students. It is particularly valuable for managing alumni data, organizing events, and fostering a sense of community among graduates.

This project is an excellent learning opportunity for BCA/MCA students, as it covers key web development concepts using PHPMySQL, and Bootstrap for a user-friendly interface.

 

Purpose of the Project

The main purpose of this project is to:

  • Bridge the gap between alumni and their alma mater.
  • Facilitate networking opportunities among alumni.
  • Provide a platform for alumni to share their achievements, expertise, and resources.
  • Enable institutions to manage alumni data and organize events effectively.
  • Encourage alumni participation in institutional activities like mentoring, donations, and job placements.


Key Objectives

1.   Enhance Alumni Engagement:

o    Build a platform where alumni can maintain a connection with their alma mater.

o    Provide networking opportunities among alumni.

2.   Simplify Administration:

o    Enable the institution to manage alumni data efficiently.

o    Organize events and collect feedback seamlessly.

3.   Practical Learning:

o    Introduce students to full-stack web development using PHP and MySQL.

o    Teach the importance of structured coding and modular design.


Core Features

1. User Roles:

  • Admin Panel:
    • Manage alumni profiles (approve/reject registrations).
    • Organize and manage events.
    • View feedback from alumni for institutional improvement.
    • Assign roles (admin and sub-admin) to other users.
  • Alumni Panel:
    • Create and manage personal profiles.
    • Register for events and provide feedback.
    • Search and connect with other alumni for networking.

2. Event Management:

  • Admins can create, update, and delete events.
  • Alumni can view, register, and provide feedback for events.

3. Alumni Search:

  • Alumni can search peers based on:
    • Batch year.
    • Course completed.
    • Current company or designation.

4. Secure Login System:

  • Separate login pages for admin and alumni.
  • Password encryption for security.
  • Password reset functionality for ease of use.

5. Responsive Design:

  • Fully responsive using Bootstrap, ensuring compatibility across devices.

Technical Stack

Backend:

  • PHP: Handles server-side logic.
  • MySQL: Stores and manages data efficiently.

Frontend:

  • HTML, CSS, Bootstrap: Provides a clean and intuitive user interface.

Additional Tools:

  • Session Management: For secure login/logout functionality.
  • Helper Functions: To simplify common tasks (e.g., redirects, authentication).


Use Case Scenarios

1.   Alumni Registration and Profile Management:

o    A new alumnus registers on the platform, and the admin approves their application.

o    The alumnus updates their profile with details like course, batch year, and current employment.

2.   Event Participation:

o    Admin creates an event for alumni networking.

o    Alumni register for the event and later provide feedback.

3.   Alumni Networking:

o    Alumni search for peers by batch year or company for career networking.

4.   Feedback for Improvement:

o    Alumni provide feedback on events, enabling the institution to enhance future programs.


Scope of the Project/Future Enhancements of the project

This system can be scaled further by:

1.   Adding job postings for alumni seeking opportunities.

2.   Integrating chat functionality for real-time interaction.

3.   Creating a mobile-friendly version or an app for better accessibility.

Features and Functionality of the Alumni Management System

1. User Roles and Authentication

Admin Panel:

  • Secure Login:
    • Admins and sub-admins log in with a unique username and password.
    • Sessions ensure secure access.
  • Role Management:
    • Assign roles such as sub-admin with limited permissions.

Alumni Panel:

  • Registration:
    • Alumni register on the platform with personal and academic details.
    • Registration status is set to "pending" until approved by an admin.
  • Secure Login:
    • Alumni log in with a secure username and password.
  • Change Password:
    • Alumni can update their passwords through a secure interface.

2. Alumni Profile Management

Admin:

  • Approve or reject alumni registrations.
  • View and edit alumni profiles as needed.

Alumni:

  • Create and update profiles with details such as:
    • Name, batch year, course, company, designation, contact details, and LinkedIn profile.
  • View their own profiles.

3. Event Management

Admin:

  • Create Events:
    • Add events with details such as title, description, and date.
  • Manage Events:
    • Edit or delete events.
  • View Registrations:
    • Track alumni registrations for each event.
  • View Feedback:
    • Analyze alumni feedback to improve future events.

Alumni:

  • View Events:
    • Browse upcoming events.
  • Register for Events:
    • Register and confirm participation.
  • Provide Feedback:
    • Submit feedback and ratings for attended events.

4. Search and Networking

Search Alumni:

  • Alumni and admin can search profiles based on:
    • Batch year.
    • Course.
    • Company or designation.

Networking Opportunities:

  • Alumni can connect with peers for career or personal networking.

5. Event Feedback

  • Alumni provide detailed feedback on events they attended, including:
    • Written feedback.
    • Ratings (e.g., out of 5).
  • Admins review and analyze feedback for improvements.

6. Dashboard and Reports

Admin:

  • Dashboard:
    • Overview of total alumni, pending approvals, and upcoming events.
  • Reports:
    • Generate reports on alumni data and event participation.
    • View aggregated feedback and ratings.

7. Secure System

  • Authentication:
    • Secure login for both admins and alumni.
    • Password encryption for user security.
  • Session Management:
    • Ensure secure navigation throughout the system.

8. User-Friendly Interface

  • Responsive design using Bootstrap for:
    • Mobile, tablet, and desktop compatibility.
  • Intuitive navigation for both admin and alumni users.

9. Scalability

  • The project is structured to allow future additions, such as:
    • Job postings and opportunities for alumni.
    • Integration of chat features for real-time communication.
    • Analytics on alumni data for institutional insights.


Modules of The Alumni Management System 

The Alumni Management System is divided into several modules to ensure a structured and organized design.


1. Authentication Module

  • Purpose: Manages secure login and registration for users.
  • Features:
    • Admin and alumni login.
    • Alumni registration with approval by admin.
    • Password encryption and secure session handling.
    • Password reset functionality.

2. User Management Module

  • Purpose: Manages user accounts and profiles.
  • Features:
    • Admin can approve/reject alumni registrations.
    • Alumni can create and update personal profiles.
    • Search functionality for finding alumni based on criteria like batch year, course, or company.
  • Roles:
    • Admin: Full access to manage all profiles.
    • Alumni: Limited to viewing and editing their own profiles.

3. Event Management Module

  • Purpose: Facilitates event creation, participation, and management.
  • Features:
    • Admin can:
      • Create, update, and delete events.
      • View alumni registrations for events.
      • Collect and analyze feedback for events.
    • Alumni can:
      • View upcoming events.
      • Register for events.
      • Provide feedback on attended events.

4. Alumni Search and Networking Module

  • Purpose: Enables alumni and admins to search and connect.
  • Features:
    • Search alumni by:
      • Name.
      • Batch year.
      • Course completed.
      • Current company or designation.
    • Facilitate networking opportunities for alumni.

5. Feedback Module

  • Purpose: Collect and manage feedback from alumni.
  • Features:
    • Alumni can provide feedback and ratings for events.
    • Admin can view, analyze, and use feedback to improve future events or services.

6. Dashboard and Reporting Module

  • Purpose: Provides an overview and insights into the system’s data.
  • Features:
    • Admin dashboard:
      • Total alumni count.
      • Pending approvals.
      • Upcoming events summary.
    • Reports:
      • Alumni registration statistics.
      • Event participation data.
      • Feedback aggregation and analysis.

7. Notification Module (Optional)

  • Purpose: Keeps users informed about updates and events.
  • Features:
    • Admin can send announcements to alumni.
    • Alumni receive notifications for:
      • Event updates.
      • Registration approvals.

8. Security Module

  • Purpose: Ensures the system’s data and functionality are secure.
  • Features:
    • Encrypted passwords for users.
    • Role-based access control (RBAC).
    • Session handling to prevent unauthorized access.

9. Frontend Module

  • Purpose: Provides a user-friendly interface for the system.
  • Features:
    • Responsive design using Bootstrap.
    • Separate interfaces for admin and alumni.
    • Easy navigation with menus for different functionalities.

10. Database Management Module

  • Purpose: Handles the storage and retrieval of data.
  • Features:
    • Well-structured database tables for:
      • Users (admins and alumni).
      • Events.
      • Feedback.
    • Efficient queries for search and reporting.

Summary of Modules

Module Name

User(s)

Key Features

Authentication Module

Admin, Alumni

Login, registration, password reset, session management.

User Management Module

Admin, Alumni

Manage profiles, approve/reject registrations, search alumni.

Event Management Module

Admin, Alumni

Create/manage events, register, and provide feedback.

Alumni Search Module

Admin, Alumni

Search alumni by batch, course, or company.

Feedback Module

Alumni, Admin

Collect and analyze event feedback.

Dashboard Module

Admin

View statistics, reports, and event summaries.

Notification Module (Optional)

Admin, Alumni

Send and receive updates about events and registrations.

Security Module

Admin, Alumni

Password encryption, role-based access control, secure sessions.

Frontend Module

All Users

User-friendly and responsive design using Bootstrap.

Database Management Module

System-wide

Data storage, retrieval, and optimized queries.


Details About the tables Used in this Project


1. Users Table

Purpose: Stores admin and alumni login credentials and role information.
Table Name: users
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier for the user.
  • name (VARCHAR(255)): Full name of the user.
  • email (VARCHAR(255), Unique): Email address used for login.
  • password (VARCHAR(255)): Encrypted password.
  • role (ENUM('admin', 'alumni')): Specifies whether the user is an admin or alumni.
  • created_at (TIMESTAMP): Timestamp when the user was created.
  • updated_at (TIMESTAMP): Timestamp when the user was last updated.

2. Alumni Details Table

Purpose: Stores personal and academic details of alumni.
Table Name: alumni_details
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • user_id (INT, Foreign Key): References users(id) for the alumni profile.
  • batch_year (YEAR): Year of graduation.
  • course (VARCHAR(255)): Course completed (e.g., BCA, MCA).
  • company (VARCHAR(255)): Current company of the alumni.
  • designation (VARCHAR(255)): Job title or designation.
  • contact_number (VARCHAR(15)): Alumni's contact number.
  • linkedin_profile (VARCHAR(255)): URL of the LinkedIn profile.
  • status (ENUM('approved', 'pending', 'rejected')): Registration approval status.
  • created_at (TIMESTAMP): Timestamp when the profile was created.
  • updated_at (TIMESTAMP): Timestamp when the profile was last updated.

3. Events Table

Purpose: Stores information about events created by the admin.
Table Name: events
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier for the event.
  • title (VARCHAR(255)): Title of the event.
  • description (TEXT): Detailed description of the event.
  • event_date (DATE): Date of the event.
  • created_at (TIMESTAMP): Timestamp when the event was created.
  • updated_at (TIMESTAMP): Timestamp when the event was last updated.

4. Event Registrations Table

Purpose: Tracks alumni registrations for events.
Table Name: event_registrations
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • event_id (INT, Foreign Key): References events(id).
  • user_id (INT, Foreign Key): References users(id) for the alumni registering for the event.
  • registration_date (TIMESTAMP): Timestamp when the registration occurred.

5. Feedback Table

Purpose: Stores feedback provided by alumni for events.
Table Name: feedback
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • event_id (INT, Foreign Key): References events(id).
  • user_id (INT, Foreign Key): References users(id) for the alumni giving feedback.
  • rating (INT): Rating for the event (e.g., 1 to 5).
  • comments (TEXT): Detailed feedback comments.
  • created_at (TIMESTAMP): Timestamp when the feedback was submitted.

6. Notifications Table (Optional)

Purpose: Stores notifications sent by the admin to alumni.
Table Name: notifications
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • user_id (INT, Foreign Key): References users(id) for the recipient.
  • title (VARCHAR(255)): Title of the notification.
  • message (TEXT): Content of the notification.
  • status (ENUM('unread', 'read')): Status of the notification.
  • created_at (TIMESTAMP): Timestamp when the notification was created.

7. Reports Table (Optional for Advanced Features)

Purpose: Stores reports generated by the admin for tracking alumni and event data.
Table Name: reports
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • report_type (VARCHAR(255)): Type of the report (e.g., alumni list, event participation).
  • generated_by (INT, Foreign Key): References users(id) for the admin who created the report.
  • file_path (VARCHAR(255)): Path to the generated report file.
  • created_at (TIMESTAMP): Timestamp when the report was generated.

8. Admin Activity Log (Optional for Security)

Purpose: Tracks admin activities for accountability.
Table Name: admin_activity_log
Columns:

  • id (INT, Primary Key, Auto Increment): Unique identifier.
  • admin_id (INT, Foreign Key): References users(id) for the admin performing the action.
  • activity (TEXT): Description of the activity (e.g., "Approved alumni registration").
  • timestamp (TIMESTAMP): Timestamp of the activity.

Relationships

1.   users ↔ alumni_details:

o    One-to-one relationship.

o    Each alumni user has a corresponding profile in alumni_details.

2.   users ↔ event_registrations ↔ events:

o    Many-to-many relationship through event_registrations.

3.   users ↔ feedback ↔ events:

o    Many-to-many relationship through feedback.


SQL Query For Alumni Management System:


1. Users Table

CREATE TABLE users (

    id INT AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(255) NOT NULL,

    email VARCHAR(255) UNIQUE NOT NULL,

    password VARCHAR(255) NOT NULL,

    role ENUM('admin', 'alumni') NOT NULL,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

);


2. Alumni Details Table

CREATE TABLE alumni_details (

    id INT AUTO_INCREMENT PRIMARY KEY,

    user_id INT NOT NULL,

    batch_year YEAR NOT NULL,

    course VARCHAR(255) NOT NULL,

    company VARCHAR(255),

    designation VARCHAR(255),

    contact_number VARCHAR(15),

    linkedin_profile VARCHAR(255),

    status ENUM('approved', 'pending', 'rejected') DEFAULT 'pending',

    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

);


3. Events Table

CREATE TABLE events (

    id INT AUTO_INCREMENT PRIMARY KEY,

    title VARCHAR(255) NOT NULL,

    description TEXT NOT NULL,

    event_date DATE NOT NULL,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

);


4. Event Registrations Table

CREATE TABLE event_registrations (

    id INT AUTO_INCREMENT PRIMARY KEY,

    event_id INT NOT NULL,

    user_id INT NOT NULL,

    registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (event_id) REFERENCES events(id) ON DELETE CASCADE,

    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE

);


5. Feedback Table

CREATE TABLE feedback (

    id INT AUTO_INCREMENT PRIMARY KEY,

    event_id INT NOT NULL,

    user_id INT NOT NULL,

    rating INT CHECK (rating BETWEEN 1 AND 5),

    comments TEXT,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (event_id) REFERENCES events(id) ON DELETE CASCADE,

    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE

);


6. Notifications Table (Optional)

CREATE TABLE notifications (

    id INT AUTO_INCREMENT PRIMARY KEY,

    user_id INT NOT NULL,

    title VARCHAR(255) NOT NULL,

    message TEXT NOT NULL,

    status ENUM('unread', 'read') DEFAULT 'unread',

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE

);


7. Reports Table (Optional for Advanced Features)

CREATE TABLE reports (

    id INT AUTO_INCREMENT PRIMARY KEY,

    report_type VARCHAR(255) NOT NULL,

    generated_by INT NOT NULL,

    file_path VARCHAR(255) NOT NULL,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (generated_by) REFERENCES users(id) ON DELETE SET NULL

);


8. Admin Activity Log (Optional for Security)

CREATE TABLE admin_activity_log (

    id INT AUTO_INCREMENT PRIMARY KEY,

    admin_id INT NOT NULL,

    activity TEXT NOT NULL,

    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (admin_id) REFERENCES users(id) ON DELETE CASCADE

);


Indexing and Relationships

  • Indexes for Foreign Keys:
    • user_id in alumni_details, event_registrations, feedback, notifications, admin_activity_log.
    • event_id in event_registrations, feedback.
  • Cascade Deletes:
    • Deleting a user removes associated alumni details, registrations, notifications, etc.
    • Deleting an event removes associated registrations and feedback.

PROJECT Structure:


1. Project Root Directory

alumni_management_system/

├── assets/

├── config/

├── controllers/

├── models/

├── views/

├── public/

├── uploads/

├── vendor/ (if using Composer)

├── index.php

└── .htaccess


2. Detailed Structure

1. assets/

Contains all the static files like CSS, JavaScript, and images.

assets/

├── css/

   ├── styles.css

   └── admin.css

├── js/

   ├── main.js

   └── admin.js

├── images/

   ├── logo.png

   └── banner.jpg


2. config/

Holds configuration files for database connection and general settings.

config/

├── database.php       # Database connection script

├── constants.php      # Project-wide constants

└── session.php        # Session management script


3. controllers/

Contains all the PHP logic to handle incoming requests and process data.

controllers/

├── UserController.php         # Handles user-related actions

├── AlumniController.php       # Handles alumni profiles

├── EventController.php        # Manages events and registrations

├── FeedbackController.php     # Handles feedback submission

├── NotificationController.php # Handles notifications

└── AdminController.php        # Admin-specific functionalities


4. models/

Handles database interactions and business logic.

models/

├── UserModel.php         # Manages users table

├── AlumniModel.php       # Manages alumni_details table

├── EventModel.php        # Manages events table

├── FeedbackModel.php     # Manages feedback table

├── NotificationModel.php # Manages notifications table

└── ReportModel.php       # Manages reports generation


5. views/

Contains all the HTML and PHP templates for rendering the frontend.

views/

├── admin/

   ├── dashboard.php

   ├── manage_alumni.php

   ├── manage_events.php

   ├── view_feedback.php

   ├── notifications.php

   └── generate_reports.php

├── alumni/

   ├── dashboard.php

   ├── profile.php

   ├── events.php

   ├── feedback.php

   └── notifications.php

├── auth/

   ├── login.php

   ├── register.php

   └── forgot_password.php

└── shared/

    ├── header.php        # Common header for all pages

    ├── footer.php        # Common footer for all pages

    └── sidebar.php       # Navigation menu


6. public/

The entry point for the application, exposing the accessible parts of the system.

public/

├── index.php             # Main entry point

├── admin.php             # Admin panel entry

├── alumni.php            # Alumni panel entry

├── event_details.php     # Event detail view

└── feedback_submit.php   # Feedback submission script


7. uploads/

Stores user-uploaded files, such as alumni photos or report files.

uploads/

├── alumni_photos/

├── event_documents/

└── reports/


8. vendor/ (Optional)

If you use Composer for dependency management, this folder contains all the libraries.

vendor/


9. Root Files

Contains project-wide files like the main entry point, .htaccess, and configuration.

index.php                # Main entry file

.htaccess                # Apache configuration for URL rewriting

composer.json            # Composer dependencies (if applicable)

README.md                # Project documentation


Explanation of the Structure

1.   Separation of Concerns:

o    Code is modular and separated into controllers, models, and views.

o    Assets, such as CSS and JS, are in a dedicated assets folder.

2.   Scalability:

o    Each functionality (e.g., events, alumni, notifications) has its own controller, model, and view files.

o    Easy to add new features or modules.

3.   Security:

o    Sensitive configurations (e.g., database credentials) are in the config/ folder and not directly accessible.

4.   User Roles:

o    Separate views for admin and alumni under views/admin/ and views/alumni/.

5.   Dynamic Features:

o    The uploads/ folder stores user-generated files.

o    Reports and notifications are dynamically generated based on database interactions.


Source Code In detail:



Post a Comment

0Comments

Post a Comment (0)