An open API service indexing awesome lists of open source software.

https://github.com/thedeiw/os-filemonitor

Client-Server project made in Visual Studio 2022 by Windows Forms. Gives opportunity to check all files in directory as client. Group assingment for "Operating Systems"
https://github.com/thedeiw/os-filemonitor

client-server file-manager group-assignment

Last synced: about 1 year ago
JSON representation

Client-Server project made in Visual Studio 2022 by Windows Forms. Gives opportunity to check all files in directory as client. Group assingment for "Operating Systems"

Awesome Lists containing this project

README

          

# _FileMonitor_ Опис проекту
Проект представляє реалізацію міжпроцесної взаємодії між сервером та клієнтом. Процес-сервер зберігає інформацію про файли в певній директорії, повертає інформацю про них при запиті. Процес-Клієнт надсилає запит на сервер і вказує розширення файлу, яке його цікавить і директорії для пошуку.

## Автори
- [@TheDeiw](https://github.com/TheDeiw) - Чеховський Дмитро
- [@medvidd](https://github.com/medvidd) - Медвідь Тетяна
- [@Eri-stay](https://github.com/Eri-stay) - Чепелюк Марія
- [@RomansFedor](https://github.com/RomansFedor) - Федорчук Роман

## Технічні вимоги
- Операційна система: Windows.
- Visual Studio: 17.11.6 або новіший.
- .NET Framework 4.8
- Простір на диску: ~50 МБ
- RAM: Мінімум 1 ГБ.
## Функціональність
#### Процес-сервер:
- зберігає (кешує) всі запити та відповіді на них у власну таблицю, які зберігаються протягом 5 секунд.
- проводить пошук файлів у директоріях, вказаних користувачем. При потребі фільтрує по розширених, які вказані користувачем)
#### Процеси-клієнти:
- має можливість вписати список директорій та розширень, щоб здійснити по цих параметрах пошук
- результати записуються у таблицю
---
# Інструкція з розгортання

1. Встановіть Visual Studio
[https://code.visualstudio.com/Downloadls](https://visualstudio.microsoft.com/downloads/)

2. Налаштуйте Visual Studio під свою версію:
- _У Visual Studio Installer потрібно натиснути "Modify" та дозавантадити ".NET desktop development"_
- _Запустити проект та відкрити термінал АБО під час запуску вибрати "Clone from repository"_

3. Склонуйте репозиторій
```sh
$ git clone https://github.com/TheDeiw/OS-FileMonitor.git
```
4. Запустіть сервер та клієнт.

---

# Основні етапи роботи програми:
**1. Відправлення запиту на пошук файла:**
- Користувач надсилає на сервер запит на інформацію про файл.
- Сервер обробляє запит та починає пошук.

**2. Обробка помилок: Сервер виведе помилку, якщо:**
- Вказано неправильний шлях до папки
- Помилка при зчитуванні імені файлу
- Немає доступу до файлу або файл не існує
- Немає зв'язку з сервером

У всіх інших випадках сервер поверне клієнту інформацію про розмір файлу та час його створення.

**3. Кешування та доступ:**
- Кешування відбувається для запитів, які приходять в інтервалі 5 секунд, адже малоймовірно що файл зміниться за пять секунд від запиту до запиту. Інформація в табличці сервера оновлюється щосекундно.

---
# Приклад роботи програми
![image](https://github.com/user-attachments/assets/63876139-6109-4728-a466-8fcc79a53fb3)