A robust, enterprise-grade web application for comprehensive alumni record management built with modern Java technologies and best practices.
- π Secure Authentication & Authorization
- π Advanced Data Management (CRUD operations)
- π Powerful Search & Filtering
- π± Responsive Design (Mobile-first approach)
- π¨ Modern UI/UX with Bootstrap 5
- π Data Analytics & Reporting
- π Real-time Updates
- π€ Data Export/Import capabilities
- π‘οΈ Input Validation & Security
- π Audit Trail & Logging
- JDK 21+ - Download here
- Apache Tomcat 10.1.x - Download here
- MySQL 8.0+ or MariaDB 10.5+
- Maven 3.8+ - Download here
- Git - Download here
# Clone the repository
git clone https://github.com/yourusername/alumni-management.git
cd alumni-management
# Run the automated setup script
./setup_tomcat.bat
# Deploy the application
./deploy_simple.bat
# Access the application
# http://localhost:8081/alumni-management-- Create database
CREATE DATABASE alumni_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Use database
USE alumni_db;
-- Create alumni table with enhanced schema
CREATE TABLE alumni (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
graduation_year YEAR NOT NULL,
course VARCHAR(100) NOT NULL,
current_position VARCHAR(100),
company VARCHAR(100),
phone_number VARCHAR(20),
address TEXT,
linkedin_profile VARCHAR(255),
github_profile VARCHAR(255),
skills TEXT,
achievements TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_email (email),
INDEX idx_graduation_year (graduation_year),
INDEX idx_company (company)
);
-- Insert sample data
INSERT INTO alumni (name, email, graduation_year, course, current_position, company) VALUES
('John Doe', 'john.doe@email.com', 2020, 'Computer Science', 'Software Engineer', 'Tech Corp'),
('Jane Smith', 'jane.smith@email.com', 2019, 'Business Administration', 'Product Manager', 'Innovation Inc');Create src/main/resources/database.properties:
# Database Configuration
db.url=jdbc:mysql://localhost:3306/alumni_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user=your_username
db.password=your_secure_password
db.driver=com.mysql.cj.jdbc.Driver
# Connection Pool Settings
db.initialSize=5
db.maxActive=20
db.maxIdle=10
db.minIdle=5
# Application Settings
app.name=Alumni Management System
app.version=2.0.0
app.debug=false# Clean and build
mvn clean package
# Deploy to Tomcat
mvn tomcat7:deploy
# Or use the provided scripts
./deploy.batalumni-management/
βββ π src/
β βββ π main/
β β βββ π java/
β β β βββ π com/alumni/
β β β βββ π dao/ # Data Access Objects
β β β βββ π model/ # Entity Models
β β β βββ π servlet/ # HTTP Servlets
β β β βββ π service/ # Business Logic
β β β βββ π util/ # Utility Classes
β β β βββ π config/ # Configuration
β β βββ π resources/ # Configuration Files
β β βββ π webapp/ # Web Resources
β β βββ π WEB-INF/
β β βββ π views/ # JSP Pages
β β βββ π css/ # Stylesheets
β β βββ π js/ # JavaScript
β β βββ π images/ # Images
β βββ π test/ # Test Cases
βββ π target/ # Build Output
βββ π lib/ # Dependencies
βββ π scripts/ # Deployment Scripts
βββ π pom.xml # Maven Configuration
βββ π README.md # This File
βββ π .gitignore # Git Ignore Rules
# Start development server
mvn tomcat7:run
# Run tests
mvn test
# Generate documentation
mvn javadoc:javadoc# Check code style
mvn checkstyle:check
# Run SonarQube analysis
mvn sonar:sonar
# Generate test coverage report
mvn jacoco:report| Method | Endpoint | Description |
|---|---|---|
GET |
/alumni |
List all alumni |
GET |
/alumni/{id} |
Get specific alumni |
POST |
/alumni |
Create new alumni |
PUT |
/alumni/{id} |
Update alumni |
DELETE |
/alumni/{id} |
Delete alumni |
GET |
/alumni/search |
Search alumni |
GET |
/alumni/export |
Export data |
# Run unit tests
mvn test
# Run integration tests
mvn verify
# Run with coverage
mvn jacoco:prepare-agent test jacoco:report# Build production WAR
mvn clean package -Pprod
# Deploy to production server
./deploy_production.batFROM tomcat:10.1-jdk21
COPY target/alumni-management.war /usr/local/tomcat/webapps/
EXPOSE 8080
CMD ["catalina.sh", "run"]- β SQL Injection Prevention
- β XSS Protection
- β CSRF Token Validation
- β Input Sanitization
- β Session Management
- β Role-based Access Control
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | β Full Support |
| Firefox | 88+ | β Full Support |
| Safari | 14+ | β Full Support |
| Edge | 90+ | β Full Support |
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CHANGELOG.md for a detailed history of changes.
| Issue | Solution |
|---|---|
| 404 Error | Check Tomcat logs, verify WAR deployment |
| Database Connection | Verify MySQL service, check credentials |
| Compilation Errors | Ensure JDK 21, run mvn clean install |
| Port Conflicts | Change Tomcat port in server.xml |
- π Documentation
- π Issue Tracker
- π¬ Discussions
- π§ Email Support
This project is licensed under the MIT License - see the LICENSE file for details.
- Apache Tomcat - Web server and servlet container
- MySQL - Database management system
- Bootstrap - Frontend framework
- JSTL - JSP Standard Tag Library
- Maven - Build automation tool
- Project Link: https://github.com/yourusername/alumni-management
- Author: Your Name
- Email: your.email@example.com
- LinkedIn: Your LinkedIn