A comprehensive task management web application built with pure PHP OOP, PDO/MySQL, and responsive frontend design.
- User Registration & Login: Secure authentication system
- Session Management: Persistent login sessions
- Password Hashing: Secure password storage using PHP's password_hash()
- Create Projects: Users can create new projects and become admins
- Project Invitations: Unique invitation codes for project joining
- Admin Roles: Project creators have admin privileges
- Member Management: Admins can remove members from projects
- Project Settings: Edit project details and delete projects
- Task Creation: Create tasks within projects
- Task Status Tracking: Three status levels (Pending, In Progress, Completed)
- Task Assignment: Tasks assigned to specific users
- Status Updates: Real-time status updates with visual indicators
- Task Statistics: Visual progress tracking
- Project Membership: Join projects using invitation codes
- Team Members: View all project members
- Role-based Access: Different permissions for admins and members
- PHP 7.4+: Pure Object-Oriented Programming
- PDO: Secure database access
- MySQL: Relational database
- Session Management: PHP sessions for user authentication
- Tailwind CSS: Utility-first CSS framework
- Font Awesome: Icon library
- Responsive Design: Mobile-first approach
- Modern UI: Glass morphism effects and smooth animations
- Users: User authentication and profiles
- Projects: Project management and settings
- Project Members: Team member relationships
- Tasks: Task management and tracking
/
├── classes/
│ ├── Database.php # Database connection class
│ ├── User.php # User management class
│ ├── Project.php # Project management class
│ └── Task.php # Task management class
├── config/
│ └── config.php # Application configuration
├── database/
│ └── schema.sql # Database schema
├── index.php # Dashboard
├── login.php # Login page
├── register.php # Registration page
├── logout.php # Logout script
├── create-project.php # Project creation
├── join-project.php # Project joining
├── project.php # Project details
├── project-settings.php # Project settings
├── manage-members.php # Member management
├── tasks.php # Task overview
├── setup.php # Database setup
└── README.md # Documentation
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache/Nginx)
-
Clone or download the project files
-
Set up the database:
# Run the setup script php setup.phpOr manually:
CREATE DATABASE task_manager; USE task_manager; SOURCE database/schema.sql;
-
Configure database connection: Edit
config/config.phpand update database credentials:$DB_HOST = 'localhost'; $DB_NAME = 'task_manager'; $DB_USER = 'your_username'; $DB_PASS = 'your_password';
-
Set up web server:
- Point your web server to the project directory
- Ensure PHP is properly configured
-
Access the application: Navigate to
http://localhost/task-manager(or your configured URL)
- Database:
task_manager - Default user:
root(empty password) - Base URL:
http://localhost/task-manager
- Register a new account or login if you already have one
- Create a new project or join an existing one using an invitation code
- Add tasks to your projects
- Track progress using the status indicators
- Invite team members using the project invitation code
- Admin: Can manage project settings, remove members, delete projects
- Member: Can create tasks, update task status, view project details
- Pending: Tasks that haven't been started
- In Progress: Tasks currently being worked on
- Completed: Finished tasks
- Password hashing using PHP's built-in functions
- Prepared statements to prevent SQL injection
- Session-based authentication
- Input validation and sanitization
- Role-based access control
The application is fully responsive and works on:
- Desktop computers
- Tablets
- Mobile phones
- Various screen sizes
- Chrome/Chromium 80+
- Firefox 75+
- Safari 13+
- Edge 80+
This is a complete task management solution. Feel free to:
- Fork the project
- Submit issues
- Create pull requests
- Add new features
This project is open source and available under the MIT License.
For issues, questions, or contributions, please refer to the project documentation or create an issue in the repository.
Built with ❤️ using PHP OOP, PDO/MySQL, and modern web technologies