Skip to content

A HTML/CSS/JS/PHP Project for the Web Course, FMI 2024

Notifications You must be signed in to change notification settings

zyppyvids/FileMeUp

Repository files navigation

Създали:
    1. Адриян Ибовски - 82157
    2. Емил Йорданов - 82193
    3. Ралица Трендафилова - 82152

Съдържание:
	Програмният код се състои от HTML, CSS, JavaScript и PHP файлове. 
	HTML файловете са 4 - един за login екрана, един за register екрана, един за основна страница (страница с всички качени файлове на конкретния потребител) и един за преглеждане на даден файл. 
	CSS файловете са 4 – login и register споделят един общ, един за основната страница, един за страницата с изглед към файл и един за „snackbar”, който използваме за изобразяване на грешки в ситемата.
	PHP файловете са 9: 
	●	index.php - действа като основна страница при влизането на основната страница на сървъра; 
	●	connection.php - съдържа логиката и настройките нужни за създаване на връзка с БД; 
	●	login.php - съдържа основната логика за проверка на данните на потребителя при влизане в профила му; 
	●	register.php - съдържа основната логика за проверка и създаване на нов профил на потребител; 
	●	upload.php - съдържа основната логика за качване на файл както на сървъра (в папка ./uploads), така и в БД като ред в таблицата files; 
	●	fetch_data.php - съдържа основната логика за вземане на данните от таблица files за конкретен потребител.;
	●	delete.php – съдържа основната логика за премахване на файл както от сървъра така и от БД;
	●	get_file_visibility.php – съдържа основната логика за проверка на видимостта на файл (публичен или частен);
	●	update_visibility.php – съдържа основната логика за обновяване на видимостта на файл (публичен или частен).
	JavaScript файловете са 13: 
	●	login.js - съдържа клиент логиката за извикването на login.php; 
	●	register.js - съдържа клиент логиката за извикването на register.php; 
	●	logout.js - съдържа клиент логиката за излизане от конкретния профил (в случая използваме локалната сесия като начин на оторизация, но това винаги може да се промени на cookie-based оторизация например); 
	●	upload.js - съдържа клиент логиката за извикването на upload.php; 
	●	filefunc.js - съдържа клиент логиката при избирането на файл за изобразяване (логиката за отваряне на файл, за селектиране на файлове и действията свързани със селектирани файлове); 
	●	fileviewer.js - съдържа клиент логиката за правилно изобразяване на конкретен файл в fileviewier.html; 
	●	fetchdata.js - съдържа клиент логиката за извикването на fetch_data.php и изобразяването на резултата (файловете на конкретния потребител);
	●	backbutton.js - съдържа клиент логиката на бутона “назад”, намиращ се в fileviewer.html;
	●	preview.js – съдържа клиент логиката за “preview” на изображение (ако има такова) във файловете на потребителя;
	●	snackbar.js – съдържа клиент логиката за изобразяване на потребителски и сървърни грешки (като поле в дъното на страницата);
	●	toggle.js – съдържа клиент логиката за сменяне на изгледа на таблицата с файлове (частни или публични);
	●	validation.js – съдържа клиент логиката за валидиране на парола на потребител (при вход / регистрация);
	●	windowfunc.js – съдържа клиент логиката за опресняване на страница.


За стартиране:
    1. Инсталираме XAMPP;
    2. Пускаме в БД двата файла в ./sql
    3. Копираме съдържанието на тази папка в папката с файловете на XAMPP (обикновено се казва xamppfiles/htdocs)
    4. Отваряме браузър (всичко, което е Chromium базирано/Firefox/Safari става) и влизаме в localhost

Често срещани проблеми:
    1. Проблем с връзката с БД:
        За да оправим този проблем влизаме в ./php/connection.php и променяме настройките спрямо тези на нашата БД.

About

A HTML/CSS/JS/PHP Project for the Web Course, FMI 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages