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 PHP, MySQL,
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.