A secure web-based paperwork management system for managing academic paperwork and approval workflows within an environment.
- Role-based access control (Admin, Staff, HOD, Dean)
- Department-based permissions
- User profile management with avatar support
- Activity tracking and session management
- Two-factor authentication (2FA) support
- Password recovery with secure reset links
- Secure document upload and storage
- Multiple file format support (PDF, DOC, DOCX)
- File size and type validation
- Document version control
- Automated file organization
- Export capabilities (PDF, Excel)
- Multi-level approval process
- Automated status tracking
- Real-time notifications
- Comments and feedback system
- Revision history tracking
- Bulk actions support
- Email notifications via SMTP
- Telegram bot integration
- Browser notifications
- Custom notification preferences
- Read receipts tracking
- Password hashing with bcrypt
- Session security measures
- CSRF protection
- XSS prevention
- SQL injection protection
- Rate limiting
- Audit logging
- File upload validation
- Two-factor authentication
- IP-based access control
- Responsive design
- Dark/Light theme support
- Real-time updates
- Search and filter capabilities
- Mobile-friendly interface
- Accessibility compliance
- Interactive dashboards
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache/Nginx)
- SSL certificate (required for production)
- Minimum 2GB RAM
- 10GB storage space
- SMTP server for email notifications
- Telegram Bot API token
- Composer package manager
- Node.js (optional, for development)
- Clone the repository:
git clone <repository-url>
cd soc-pms
- Create database and import schema:
mysql -u root -p
CREATE DATABASE soc_pms;
USE soc_pms;
source database/soc_pms.sql
- Configure environment:
cp .env.example .env
# Edit .env with your configuration
Required configurations:
# Database
DB_HOST=localhost
DB_NAME=soc_pms
DB_USER=your_user
DB_PASS=your_password
# Email
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_email
SMTP_PASS=your_password
# Security
APP_KEY=generate_random_32_char_string
SESSION_LIFETIME=120
SECURE_COOKIES=true
- Set up file permissions:
chmod 755 -R storage/
chmod 755 -R uploads/
chmod 755 -R exports/
chown -R www-data:www-data storage/ uploads/ exports/
- Install dependencies:
composer install
composer dump-autoload
- Security configuration:
# Apache (.htaccess)
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
The system includes these default accounts:
Role | Username | Default Password | Access Level |
---|---|---|---|
Admin | admin@soc.edu | 12345678 | Full System Access |
HOD | hod@soc.edu | 12345678 | Department Management |
Staff | staff@soc.edu | 12345678 | Basic Access |
Dean | dean@soc.edu | 12345678 | Final Approval |
- Check error logs
- Monitor failed login attempts
- Review file uploads
- Verify email notifications
- Review audit logs
- Backup database
- Check disk space
- Monitor system performance
- Update dependencies
- Review user accounts
- Analyze usage patterns
- Test backup restoration
Common issues and solutions:
-
Upload fails
- Check folder permissions
- Verify PHP upload limits
- Review file size restrictions
-
Email not sending
- Verify SMTP settings
- Check error logs
- Test email credentials
-
Performance issues
- Enable PHP opcache
- Optimize MySQL queries
- Configure caching
For technical support:
- Create an issue in the repository
- Fork the repository
- Create feature branch
- Follow coding standards:
- PSR-12 for PHP
- ESLint for JavaScript
- Document all changes
- Submit pull request