Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sashka11111/task-management-system
https://github.com/sashka11111/task-management-system
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/sashka11111/task-management-system
- Owner: Sashka11111
- Created: 2024-11-18T15:17:52.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-18T15:49:36.000Z (about 1 month ago)
- Last Synced: 2024-11-18T17:14:26.359Z (about 1 month ago)
- Language: PHP
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task Management System
Цей проект реалізує систему управління завданнями для користувачів, яка дозволяє створювати, оновлювати, призначати та змінювати статус завдань. Проект побудований з використанням PHP, PDO для роботи з базою даних та принципів MVC (Model-View-Controller).
## Зміст
- [Опис](#Опис)
- [Встановлення](#Встановлення)
- [Доступ до маршрутів](#Доступ-до-маршрутів)## Опис
Ця система дозволяє користувачам створювати та призначати завдання, змінювати їх статус, оновлювати та видаляти їх з бази даних.
Користувач може зареєструватися, увійти в систему, змінити свій пароль та вийти з системи.### Основні функції:
- Створення завдань
- Оновлення завдань
- Призначення завдань користувачам
- Зміна статусу завдань
- Редагування завдань
- Видалення завдань## Встановлення
Щоб розгорнути проект локально, виконайте наступні кроки:
1. Клонувати репозиторій:
```bash
git clone https://github.com/Sashka11111/task-management-system
```2. Встановити залежності за допомогою Composer (якщо вони є):
```bash
composer install
```Налаштуйте файл .env для вашого середовища (наприклад, бази даних) і переконайтесь, що база даних налаштована правильно.
Імпортуйте SQL схему в базу даних. Використовуйте наступні SQL запити для створення таблиць:
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
status ENUM('Pending', 'In Progress', 'Completed') NOT NULL,
creator_id INT,
assigned_to_id INT,
created_at DATETIME,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (creator_id) REFERENCES users(id),
FOREIGN KEY (assigned_to_id) REFERENCES users(id)
);
```
## Доступ до маршрутів
Після того як сервер запущений, ви матимете доступ до наступних маршрутів:- **Головна сторінка**:
- Шлях: `/`
- Опис: Виводить повідомлення "Головна сторінка".- **Вхід в систему**:
- Шлях: `/login`
- Опис: Сторінка для входу в систему користувача.- **Реєстрація користувача**:
- Шлях: `/register`
- Опис: Сторінка для реєстрації нового користувача.- **Список завдань**:
- Шлях: `/tasks`
- Опис: Виводить список всіх завдань.- **Створення нового завдання**:
- Шлях: `/tasks/create`
- Опис: Сторінка для створення нового завдання.- **Оновлення завдання**:
- Шлях: `/tasks/update/{id}`
- Опис: Оновлення завдання з певним `id`. Замість `{id}` вставте реальний ID завдання.- **Видалення завдання**:
- Шлях: `/tasks/delete/{id}`
- Опис: Видалення завдання з певним `id`. Замість `{id}` вставте реальний ID завдання.- **Призначення завдання користувачу**:
- Шлях: `/tasks/{taskId}/assign/{userId}`
- Опис: Призначення завдання з `taskId` користувачу з `userId`.- **Зміна статусу завдання**:
- Шлях: `/tasks/{taskId}/status/{status}`
- Опис: Зміна статусу завдання на вказаний в `status`. Замість `{taskId}` вставте ID завдання, а в `{status}` — новий статус.- **Вихід з системи**:
- Шлях: `/logout`
- Опис: Вихід з системи.- **Зміна пароля**:
- Шлях: `/change-password`
- Опис: Сторінка для зміни пароля користувача.### Приклад запитів
1. Для отримання списку всіх завдань, перейдіть за адресою:
```bash
http://task-management-system.test/tasks
```2. Для оновлення завдання з ID 1, перейдіть за адресою:
```bash
http://task-management-system.test/tasks/update/1
```3. Для видалення завдання з ID 2, перейдіть за адресою:
```bash
http://task-management-system.test/tasks/delete/2
```4. Для зміни статусу завдання з ID 3 на "Completed", перейдіть за адресою:
```bash
http://task-management-system.test/tasks/3/status/Completed
```