A simple task management application built with Laravel. This app allows users to create, view, edit, and delete tasks, as well as register and log in to manage their tasks.
- User registration and authentication
- CRUD operations for tasks
- Each user has their own task list
- Task completion status tracking
- New: Notification to remind users of their tasks and due dates
- PHP >= 8.1
- Composer
- MySQL
- Laravel => 11
git clone https://github.com/Grizi7/Task-Management-Application.gitRun the following command to install PHP and Composer dependencies:
composer install- Duplicate the
.env.examplefile and rename it to.env.
cp .env.example .env- Open
.envand set up your environment variables, particularly for the database connection:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=task_manager
DB_USERNAME=root
DB_PASSWORD=your_passwordGenerate an application encryption key:
php artisan key:generate- Create a new database named
task_managerin MySQL or the database of your choice. - Run the migrations to set up the necessary tables:
php artisan migrate --seedStart the local development server:
php artisan serveBy default, the application will be available at http://127.0.0.1:8000.
Use the following credentials to log in as a test user:
- Email:
test@example.com - Password:
password
These credentials will help you quickly test the application's authentication and task management features.
- Register: Go to
http://127.0.0.1:8000/registerto create a new account. - Login: Go to
http://127.0.0.1:8000/loginto log in.
Once logged in, you can:
- Create a New Task: Click on "Add New Task" to create a new task with a title and optional description.
- View Tasks: The dashboard displays all tasks you have created.
- Finish a Task: Click "Finish" to finish an existing task.
- Edit a Task: Click "Edit" to modify an existing task.
- Delete a Task: Click "Delete" to remove a task from your list.
- User: The
Usermodel is used for user authentication. - Task: The
Taskmodel is used to represent each task, associated with a user.
- TaskController: Manages CRUD operations for tasks.
- Auth Controllers:
LoginControllerandRegisterControllerhandle user login and registration.
Validation rules for users registration and login are handled by RegisterRequest and LoginRequest, ensuring each user has valid credentials such as email and password.
Validation rules for tasks are handled by TaskRequest, ensuring each task has a title and description.
The application is deployed and available at https://grizi7.space/.
-
Database Structure:
- Users Table: Contains
id,name,email,password, and timestamps. - Tasks Table: Contains
id,title,description,completed,user_id, and timestamps.
- Users Table: Contains
-
Routes:
- Auth routes:
/register,/login,/logout - Task routes:
/tasks,/tasks/create,/tasks/finish/{id},/tasks/edit/{id},/tasks/update/{id},/tasks/delete/{id}
- Auth routes: