- Project Description
- Features
- System Architecture
- Technologies Used
- Installation
- Usage
- Testing
- Project Structure
- Contributing
- License
- Contact
The SPLWD (Student Profiling for Learners with Disabilities) System Upgrade is a comprehensive modernization of an existing web-based student profiling system. This upgraded system serves the Sta. Cruz District of Laguna, specifically designed to digitize and centralize the management of LWD (Learners with Disabilities) student records, replacing traditional paper-based filing systems that are vulnerable to natural disasters.
The system provides a secure, role-based platform for managing student profiles, educational documents, progress tracking, and parent engagement across multiple elementary schools in the district, including Sta. Cruz Central Elementary School, Bagumbayan Elementary School, and Gatid Elementary School.
- Modernize legacy codebase with PHP 8.x and current best practices
- Improve system performance, security, and maintainability
- Enhance user interface and experience
- Implement comprehensive testing with PHPUnit
- Ensure compliance with data privacy regulations
- Student Profile Management: Digital storage and retrieval of LWD student information including personal details, enrollment status, and educational history
- Document Management: Upload, storage, and organization of educational documents including IEP (Individual Educational Plan), ILP (Individual Learner's Profile), ILMP (Individual Learning Monitoring Plan), and BIR (Behavior Intervention Report)
- Progress Tracking: Quarterly assessment and monitoring with chart visualizations for student development
- Multi-user Support: Role-based access control for Administrators, District Administrators, Principals, Secretaries, Teachers, and Parents
- Reporting: Comprehensive enrollment reports, progress summaries, and audit logs
- Parent Engagement: Limited access for parents to view child's progress and submit observations
- Codebase cleaning: Removed redundant and unused code segments
- Refactoring: Implemented modern design patterns (MVC, Repository, Factory)
- Code standards: Consistent naming conventions and formatting
- Improved scalability: Enhanced compatibility for future upgrades and newer technologies
- Environment configuration: Moved hardcoded credentials to .env files
- Secure authentication and authorization mechanisms
- Data encryption for sensitive information
- Compliance with Data Privacy Act requirements
- Modern interface: Updated typography, padding, and element positioning
- Responsive design: Mobile-friendly interface using Bootstrap
- Streamlined workflows: Improved navigation and user experience
The SPLWD system follows a three-tier web application architecture:
- Responsive web interface built with HTML5, CSS3, and JavaScript
- Bootstrap framework for consistent UI/UX design
- Role-based dashboards for different user types (Admin, District Admin, Principal, Secretary, Teacher, Parent)
- PHP 8.x backend with MVC architecture pattern
- RESTful API design for data operations
- Session management and authentication middleware
- File upload and document processing capabilities
- MySQL database with normalized schema design
- Secure file storage system for document management
- Automated backup and recovery mechanisms
- PHP 8.x: Modern language features and performance improvements
- MySQL 8.x: Primary data storage with InnoDB engine for ACID compliance
- Composer: Dependency management and PSR-4 autoloading
- PDO: Database abstraction layer for security and portability
- PHPOffice/PHPWord: Document generation and processing
- HTML5: Semantic markup structure
- CSS3: Modern styling with responsive design
- Bootstrap 5.x: Responsive CSS framework
- JavaScript (ES6+): Dynamic interactions and functionality
- jQuery 3.x: DOM manipulation and AJAX operations
- Chart.js: Data visualization and progress charts
- Font Awesome: Consistent icon library
- PHPUnit: Automated testing framework (220 test cases, 962 assertions)
- Git: Version control system
- Environment Variables: Configuration management via .env files
- CPU: 2 cores, 2.4 GHz
- RAM: 4 GB minimum, 8 GB recommended
- Storage: 10 GB available space
- Network: Stable internet connection
- Software: PHP >= 8.0, MySQL >= 8.0, Apache >= 2.4 or Nginx >= 1.18, Composer >= 2.0
Ensure the following software is installed on your system:
- PHP 8.0 or higher
- MySQL 8.0 or higher
- Apache 2.4+ or Nginx 1.18+
- Composer 2.0+
-
Clone the Repository
git clone https://github.com/VoxDroid/SPLWD.git cd SPLWD -
Install Dependencies
composer install
-
Environment Configuration
cp .env.example .env # Edit .env file with your database credentials -
Database Setup The application automatically creates the database and imports the schema on first run. Ensure your MySQL server is running and credentials are configured in
.env.If you prefer manual setup:
- Create a new MySQL database named
sc_district - Create a database user with appropriate privileges
- The schema will be imported automatically on app start
- Create a new MySQL database named
-
Configure Environment Variables Update the
.envfile with your database connection details:DB_PASSWORD=Your_Database_Password DB_SERVERNAME=localhost DB_USERNAME=your_db_user DB_NAME=sc_district -
File Permissions Set appropriate permissions for web server access:
sudo chown -R www-data:www-data /path/to/SPLWD sudo chmod -R 755 /path/to/SPLWD
- System Administrator: Full system access and user management
- District Administrator: District-level oversight and multi-school management
- School Principals: School-level oversight and reporting
- Principal's Secretary: User account management and administrative support
- Teachers: Student data entry, document upload, and progress tracking
- Parents/Guardians: Limited access to view child's progress and add observations
For development:
php -S localhost:8000For production, deploy to a web server with PHP support.
- Student Enrollment: Teachers and administrators can create and manage student profiles
- Document Upload: Secure upload and storage of educational documents
- Progress Monitoring: Quarterly assessments with visual progress tracking
- Reporting: Generate comprehensive reports for stakeholders
- Parent Communication: Parents can view progress and submit feedback
The project includes comprehensive testing with PHPUnit:
- Total Test Cases: 220
- Total Assertions: 962
- Test Success Rate: 100%
- Code Coverage: >98% for critical components
# Run full test suite
composer test
# Run specific test file
./vendor/bin/phpunit tests/specific_test_file.php- Unit Tests: Individual component validation
- Integration Tests: Database and API interaction verification
- Functional Tests: End-to-end user workflow testing
- Security Tests: Authentication and authorization validation
SPLWD/
├── CODE_OF_CONDUCT.md # Code of conduct guidelines
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
├── README.md # This file
├── SECURITY.md # Security policy
├── SUPPORT.md # Support information
├── composer.json # PHP dependencies
├── composer.lock # Locked dependency versions
├── docs/
│ ├── SRS.md # Software Requirements Specification
│ └── TechnicalDocumentation.md # Technical documentation
├── phpunit.xml # PHPUnit configuration
├── src/
│ ├── .env # Environment configuration (gitignored)
│ ├── .env.example # Environment configuration template
│ ├── .phpunit.result.cache # PHPUnit test cache
│ ├── add_account.php
│ ├── admin/ # Administrator interface
│ ├── composer.json
│ ├── composer.lock
│ ├── connect.php # Database connection
│ ├── css/ # Stylesheets
│ ├── database/
│ │ └── sc_district.sql # Database schema
│ ├── district_admin/ # District administrator interface
│ ├── dompdf/ # PDF generation library
│ ├── forgot_password.php
│ ├── img/ # Images and assets
│ ├── index.php # Main entry point (includes auto DB init)
│ ├── init_database.php # Automatic database initialization
│ ├── js/ # JavaScript files
│ ├── logout.php
│ ├── Mail/ # Email handling library
│ ├── nav.php # Navigation component
│ ├── otp_verification.php
│ ├── parent/ # Parent interface
│ ├── phpunit.xml # PHPUnit configuration
│ ├── principal/ # Principal interface
│ ├── reset_password.php
│ ├── scss/ # SCSS source files
│ ├── secretary/ # Secretary interface
│ ├── session.php # Session management
│ ├── signup.php
│ ├── sms.php
│ ├── teacher/ # Teacher interface
│ ├── tests/ # PHPUnit test files
│ └── vendor/ # Composer dependencies
- Automatic Database Initialization: Implemented
init_database.phpfor seamless DB creation and schema import on app start - Repository Cleanup: Removed 30+ redundant/unused files (e.g., accomplishment_print.php, htmlTodoc.class.php, duplicate files, unused images)
- Code Quality Improvements: Fixed broken paths, typos in image references, and inconsistent JS includes
- Configuration Updates: Updated
.env.examplewith proper database keys and environment variables - Documentation Overhaul: Professionalized README with comprehensive sections, removed emojis, added architecture details
- Testing: Maintained 220 passing tests with 100% success rate
We welcome contributions to the SPLWD project! Please read our Contributing Guidelines for details on how to submit pull requests, report issues, and contribute to the codebase.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
composer test - Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
For technical support, bug reports, or feature requests:
- Email: izeno.contact@gmail.com
- Project Repository: github.com/VoxDroid/SPLWD
- Documentation: See
/docsfolder for detailed SRS and technical documentation
Last Updated: December 23, 2025
Version: 2.0
Status: Production Ready