A web control panel for pushing the same images or videos to several advertisement screens at once. Built with HTML, CSS, JavaScript, PHP and MySQL.
OneClick was developed during summer training at Medical Fakeeh (2024) as a team project with other trainees. It lets staff register display screens, upload media, and push that content to selected screens with one click, so screens in different locations show the same content at the same time.
- Login and roles: the login page sends users to the Admin, Sub-admin or User home pages. Registration is handled by PHP with
password_hash. - User management (
usersList.html): list users, change a role (admin / sub / user), delete a user - Screen management (
OneClick.html,screensList.html): add a screen with a unique name and IP/location, list screens and delete them. Data is stored in MySQL. - Media upload (
importMedia.php): upload images or videos touploads/and record them in themediatable - Push to screens: choose one or more screens (or All) and push the selected media. Each screen opens
screen.html, which shows the media full-screen and updates live.
- HTML5, CSS3, vanilla JavaScript
- PHP (mysqli) endpoints:
addScreen,getScreens,deleteScreen,getMedia,importMedia,register,login,getUsers,updateRole,deleteUser - MySQL database
oneclickwith tablesusers,screensandmedia - XAMPP (Apache + MySQL) for local hosting
- Install XAMPP and start Apache and MySQL.
- Copy the project folder into
htdocs/OneClick/. - In phpMyAdmin, create the database
oneclickwith these tables:users (id, username, email, password, role)screens (screen_name, location, screen_url)media (media_name, type, path)
- Open
http://localhost/OneClick/.index.htmlis the login page.
The PHP files use XAMPP's default local credentials (root with no password).
| Files | Purpose |
|---|---|
index.html, LogIn.js, LogIn.css |
Login |
registration.*, register.php |
Create users |
Amin1Home.html, SubAdmin.html, UserHome.html |
Role home pages |
OneClick.html/.js/.css |
Main panel: screens, media upload, push |
screensList.*, ScreensList.js |
Screens table |
usersList.* |
Users table and roles |
screen.html |
Full-screen media display for a screen |
*.php |
Backend endpoints |
UI screenshots from the summer training build (local XAMPP run, training UI only).
| Login | Welcome / push dashboard |
|---|---|
![]() |
![]() |
| Menu: Create a user / One Click / Users Data | Create a user / One Click |
|---|---|
![]() |
![]() |
| Create a new user | Users Data |
|---|---|
![]() |
![]() |
| Users Data table (mockup) |
|---|
![]() |
Summer training report (student ID removed): docs/Summer_Training_Report.pdf.
Developed during the Computer Science summer training (Umm Al-Qura University) at Medical Fakeeh, 2024, as part of teamwork with other trainees. Hala Jalal contributed as a team member.






