From 0072b605393a6b15db2e09b8bb982a46540cf501 Mon Sep 17 00:00:00 2001
From: "e2b-for-github[bot]"
<134465507+e2b-for-github[bot]@users.noreply.github.com>
Date: Thu, 7 Dec 2023 02:33:46 +0000
Subject: [PATCH 1/2] Initial commit
From 72e8231a22ecadad28408d7c53fed5fa85ee8e4d Mon Sep 17 00:00:00 2001
From: "e2b-for-github[bot]"
<337977+e2b-for-github[bot]@users.noreply.github.com>
Date: Thu, 7 Dec 2023 02:38:59 +0000
Subject: [PATCH 2/2] Add code based on the PR instructions
---
Config/Database_Connect.php | 24 ++++++
Private/Controllers/Schedule_Controller.php | 32 ++++++++
Private/Controllers/Shift_Controller.php | 36 +++++++++
Private/Controllers/User_Controller.php | 47 ++++++++++++
Private/Models/Schedule_Model.php | 38 ++++++++++
Private/Models/Shift_Model.php | 43 +++++++++++
Private/Models/User_Model.php | 38 ++++++++++
Private/Views/Schedule_View.php | 27 +++++++
Private/Views/Shift_View.php | 29 +++++++
Private/Views/User_View.php | 25 +++++++
Public/Assets/CSS/Main.css | 83 +++++++++++++++++++++
Public/Assets/CSS/Theme.css | 63 ++++++++++++++++
Public/Assets/JS/Helpers.js | 38 ++++++++++
Public/Assets/JS/Main.js | 46 ++++++++++++
Public/index.html | 31 ++++++++
README.md | 62 ++++++++++++++-
Vendor/Third_Party_Library_1 | 20 +++++
Vendor/Third_Party_Library_2 | 25 +++++++
composer.json | 26 +++++++
shared_dependencies.md | 23 ++++++
20 files changed, 755 insertions(+), 1 deletion(-)
create mode 100755 Config/Database_Connect.php
create mode 100755 Private/Controllers/Schedule_Controller.php
create mode 100755 Private/Controllers/Shift_Controller.php
create mode 100755 Private/Controllers/User_Controller.php
create mode 100755 Private/Models/Schedule_Model.php
create mode 100755 Private/Models/Shift_Model.php
create mode 100755 Private/Models/User_Model.php
create mode 100755 Private/Views/Schedule_View.php
create mode 100755 Private/Views/Shift_View.php
create mode 100755 Private/Views/User_View.php
create mode 100755 Public/Assets/CSS/Main.css
create mode 100755 Public/Assets/CSS/Theme.css
create mode 100755 Public/Assets/JS/Helpers.js
create mode 100755 Public/Assets/JS/Main.js
create mode 100755 Public/index.html
mode change 100644 => 100755 README.md
create mode 100755 Vendor/Third_Party_Library_1
create mode 100755 Vendor/Third_Party_Library_2
create mode 100755 composer.json
create mode 100755 shared_dependencies.md
diff --git a/Config/Database_Connect.php b/Config/Database_Connect.php
new file mode 100755
index 0000000..9d75a9f
--- /dev/null
+++ b/Config/Database_Connect.php
@@ -0,0 +1,24 @@
+```php
+conn = null;
+
+ try {
+ $this->conn = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->db_name, $this->username, $this->password);
+ $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+ } catch(PDOException $e) {
+ echo 'Connection Error: ' . $e->getMessage();
+ }
+
+ return $this->conn;
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Controllers/Schedule_Controller.php b/Private/Controllers/Schedule_Controller.php
new file mode 100755
index 0000000..a3e99f1
--- /dev/null
+++ b/Private/Controllers/Schedule_Controller.php
@@ -0,0 +1,32 @@
+```php
+db = new Database_Connect();
+ $this->scheduleModel = new Schedule_Model($this->db->connect());
+ }
+
+ public function createSchedule($userId, $scheduleData) {
+ return $this->scheduleModel->create($userId, $scheduleData);
+ }
+
+ public function getSchedule($userId) {
+ return $this->scheduleModel->get($userId);
+ }
+
+ public function updateSchedule($userId, $scheduleData) {
+ return $this->scheduleModel->update($userId, $scheduleData);
+ }
+
+ public function deleteSchedule($userId) {
+ return $this->scheduleModel->delete($userId);
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Controllers/Shift_Controller.php b/Private/Controllers/Shift_Controller.php
new file mode 100755
index 0000000..c071972
--- /dev/null
+++ b/Private/Controllers/Shift_Controller.php
@@ -0,0 +1,36 @@
+```php
+db = new Database_Connect();
+ $this->shiftModel = new Shift_Model($this->db->connect());
+ }
+
+ public function createShift($shiftData) {
+ return $this->shiftModel->createShift($shiftData);
+ }
+
+ public function getShifts() {
+ return $this->shiftModel->getShifts();
+ }
+
+ public function getShiftById($shiftId) {
+ return $this->shiftModel->getShiftById($shiftId);
+ }
+
+ public function updateShift($shiftId, $shiftData) {
+ return $this->shiftModel->updateShift($shiftId, $shiftData);
+ }
+
+ public function deleteShift($shiftId) {
+ return $this->shiftModel->deleteShift($shiftId);
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Controllers/User_Controller.php b/Private/Controllers/User_Controller.php
new file mode 100755
index 0000000..8149421
--- /dev/null
+++ b/Private/Controllers/User_Controller.php
@@ -0,0 +1,47 @@
+```php
+db = new Database_Connect();
+ $this->userModel = new User_Model($this->db->connect());
+ }
+
+ public function registerUser($username, $password, $email) {
+ $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
+ $result = $this->userModel->createUser($username, $hashedPassword, $email);
+
+ if($result) {
+ return array('status' => 'SUCCESS', 'message' => 'User registered successfully');
+ } else {
+ return array('status' => 'ERROR', 'message' => 'Failed to register user');
+ }
+ }
+
+ public function loginUser($username, $password) {
+ $user = $this->userModel->getUserByUsername($username);
+
+ if($user && password_verify($password, $user['password'])) {
+ return array('status' => 'SUCCESS', 'message' => 'User logged in successfully');
+ } else {
+ return array('status' => 'ERROR', 'message' => 'Invalid username or password');
+ }
+ }
+
+ public function updateUserProfile($username, $email) {
+ $result = $this->userModel->updateUser($username, $email);
+
+ if($result) {
+ return array('status' => 'SUCCESS', 'message' => 'User profile updated successfully');
+ } else {
+ return array('status' => 'ERROR', 'message' => 'Failed to update user profile');
+ }
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Models/Schedule_Model.php b/Private/Models/Schedule_Model.php
new file mode 100755
index 0000000..8e103f1
--- /dev/null
+++ b/Private/Models/Schedule_Model.php
@@ -0,0 +1,38 @@
+```php
+db = new Database_Connect();
+ $this->db = $this->db->getDb();
+ }
+
+ public function getSchedule($id) {
+ $stmt = $this->db->prepare("SELECT * FROM schedules WHERE id = :id");
+ $stmt->execute(['id' => $id]);
+ return $stmt->fetch(PDO::FETCH_ASSOC);
+ }
+
+ public function createSchedule($data) {
+ $stmt = $this->db->prepare("INSERT INTO schedules (user_id, start_time, end_time) VALUES (:user_id, :start_time, :end_time)");
+ $stmt->execute(['user_id' => $data['user_id'], 'start_time' => $data['start_time'], 'end_time' => $data['end_time']]);
+ return $this->db->lastInsertId();
+ }
+
+ public function updateSchedule($id, $data) {
+ $stmt = $this->db->prepare("UPDATE schedules SET user_id = :user_id, start_time = :start_time, end_time = :end_time WHERE id = :id");
+ $stmt->execute(['id' => $id, 'user_id' => $data['user_id'], 'start_time' => $data['start_time'], 'end_time' => $data['end_time']]);
+ return $stmt->rowCount();
+ }
+
+ public function deleteSchedule($id) {
+ $stmt = $this->db->prepare("DELETE FROM schedules WHERE id = :id");
+ $stmt->execute(['id' => $id]);
+ return $stmt->rowCount();
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Models/Shift_Model.php b/Private/Models/Shift_Model.php
new file mode 100755
index 0000000..e5a4d35
--- /dev/null
+++ b/Private/Models/Shift_Model.php
@@ -0,0 +1,43 @@
+```php
+db = new Database_Connect();
+ $this->db = $this->db->connect();
+ }
+
+ public function createShift($shiftData) {
+ $query = "INSERT INTO shifts (shift_name, start_time, end_time) VALUES (:shift_name, :start_time, :end_time)";
+ $stmt = $this->db->prepare($query);
+ $stmt->execute($shiftData);
+ return $this->db->lastInsertId();
+ }
+
+ public function getShift($shiftId) {
+ $query = "SELECT * FROM shifts WHERE id = :id";
+ $stmt = $this->db->prepare($query);
+ $stmt->execute(['id' => $shiftId]);
+ return $stmt->fetch(PDO::FETCH_ASSOC);
+ }
+
+ public function updateShift($shiftId, $shiftData) {
+ $query = "UPDATE shifts SET shift_name = :shift_name, start_time = :start_time, end_time = :end_time WHERE id = :id";
+ $stmt = $this->db->prepare($query);
+ $shiftData['id'] = $shiftId;
+ $stmt->execute($shiftData);
+ return $stmt->rowCount();
+ }
+
+ public function deleteShift($shiftId) {
+ $query = "DELETE FROM shifts WHERE id = :id";
+ $stmt = $this->db->prepare($query);
+ $stmt->execute(['id' => $shiftId]);
+ return $stmt->rowCount();
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Models/User_Model.php b/Private/Models/User_Model.php
new file mode 100755
index 0000000..099afa3
--- /dev/null
+++ b/Private/Models/User_Model.php
@@ -0,0 +1,38 @@
+```php
+db = new Database_Connect();
+ $this->db = $this->db->getDb();
+ }
+
+ public function getUser($id) {
+ $stmt = $this->db->prepare("SELECT * FROM users WHERE id = :id");
+ $stmt->execute(['id' => $id]);
+ return $stmt->fetch(PDO::FETCH_ASSOC);
+ }
+
+ public function createUser($username, $password, $email) {
+ $stmt = $this->db->prepare("INSERT INTO users (username, password, email) VALUES (:username, :password, :email)");
+ $stmt->execute(['username' => $username, 'password' => password_hash($password, PASSWORD_DEFAULT), 'email' => $email]);
+ return $this->db->lastInsertId();
+ }
+
+ public function updateUser($id, $username, $password, $email) {
+ $stmt = $this->db->prepare("UPDATE users SET username = :username, password = :password, email = :email WHERE id = :id");
+ $stmt->execute(['id' => $id, 'username' => $username, 'password' => password_hash($password, PASSWORD_DEFAULT), 'email' => $email]);
+ return $stmt->rowCount();
+ }
+
+ public function deleteUser($id) {
+ $stmt = $this->db->prepare("DELETE FROM users WHERE id = :id");
+ $stmt->execute(['id' => $id]);
+ return $stmt->rowCount();
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Views/Schedule_View.php b/Private/Views/Schedule_View.php
new file mode 100755
index 0000000..546c4eb
--- /dev/null
+++ b/Private/Views/Schedule_View.php
@@ -0,0 +1,27 @@
+```php
+scheduleModel = new Schedule_Model();
+ }
+
+ public function displayAllSchedules() {
+ $schedules = $this->scheduleModel->getAllSchedules();
+
+ foreach($schedules as $schedule) {
+ echo "
";
+ echo "
" . $schedule['title'] . "
";
+ echo "
" . $schedule['description'] . "
";
+ echo "
Start Date: " . $schedule['start_date'] . "
";
+ echo "
End Date: " . $schedule['end_date'] . "
";
+ echo "
";
+ }
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Private/Views/Shift_View.php b/Private/Views/Shift_View.php
new file mode 100755
index 0000000..ae5f27e
--- /dev/null
+++ b/Private/Views/Shift_View.php
@@ -0,0 +1,29 @@
+```php
+shiftModel = new Shift_Model();
+ }
+
+ public function displayShifts() {
+ $shifts = $this->shiftModel->getAllShifts();
+
+ foreach($shifts as $shift) {
+ echo "
";
+ echo "
" . $shift['shift_name'] . "
";
+ echo "
Start Time: " . $shift['start_time'] . "
";
+ echo "
End Time: " . $shift['end_time'] . "
";
+ echo "
";
+ }
+ }
+}
+
+$shiftView = new Shift_View();
+$shiftView->displayShifts();
+?>
+```
\ No newline at end of file
diff --git a/Private/Views/User_View.php b/Private/Views/User_View.php
new file mode 100755
index 0000000..9a8a171
--- /dev/null
+++ b/Private/Views/User_View.php
@@ -0,0 +1,25 @@
+```php
+userModel = new User_Model(Database_Connect::getInstance());
+ }
+
+ public function displayUsers() {
+ $users = $this->userModel->getAllUsers();
+ foreach ($users as $user) {
+ echo "
";
+ echo "
" . htmlspecialchars($user['name']) . "
";
+ echo "
Email: " . htmlspecialchars($user['email']) . "
";
+ echo "
Role: " . htmlspecialchars($user['role']) . "
";
+ echo "
";
+ }
+ }
+}
+?>
+```
\ No newline at end of file
diff --git a/Public/Assets/CSS/Main.css b/Public/Assets/CSS/Main.css
new file mode 100755
index 0000000..d2be401
--- /dev/null
+++ b/Public/Assets/CSS/Main.css
@@ -0,0 +1,83 @@
+/* Main.css */
+
+body {
+ font-family: Arial, sans-serif;
+ margin: 0;
+ padding: 0;
+ background-color: #f4f4f4;
+}
+
+.container {
+ width: 80%;
+ margin: auto;
+ overflow: hidden;
+}
+
+header {
+ background: #50b3a2;
+ color: white;
+ padding-top: 30px;
+ min-height: 70px;
+ border-bottom: #e8491d 3px solid;
+}
+
+header a {
+ color: #ffffff;
+ text-decoration: none;
+ text-transform: uppercase;
+ font-size: 16px;
+}
+
+header li {
+ float: left;
+ display: inline;
+ padding: 0 20px 0 20px;
+}
+
+header #branding {
+ float: left;
+}
+
+header #branding h1 {
+ margin: 0;
+}
+
+header nav {
+ float: right;
+ margin-top: 10px;
+}
+
+header .highlight, header .current a {
+ color: #e8491d;
+ font-weight: bold;
+}
+
+header a:hover {
+ color: #cccccc;
+ font-weight: bold;
+}
+
+#showcase {
+ min-height: 400px;
+ background: url('../Images/Background.jpg') no-repeat 0 -400px;
+ text-align: center;
+ color: #ffffff;
+}
+
+#showcase h1 {
+ margin-top: 100px;
+ font-size: 55px;
+ margin-bottom: 10px;
+}
+
+#showcase p {
+ font-size: 20px;
+}
+
+footer {
+ padding: 20px;
+ margin-top: 20px;
+ color: #ffffff;
+ background-color: #e8491d;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/Public/Assets/CSS/Theme.css b/Public/Assets/CSS/Theme.css
new file mode 100755
index 0000000..4093eb3
--- /dev/null
+++ b/Public/Assets/CSS/Theme.css
@@ -0,0 +1,63 @@
+/* Theme.css */
+
+body {
+ font-family: Arial, sans-serif;
+ background-color: #f4f4f4;
+}
+
+.container {
+ width: 80%;
+ margin: auto;
+ overflow: hidden;
+}
+
+#header {
+ background: #50b3a2;
+ color: white;
+ padding-top: 30px;
+ min-height: 70px;
+ border-bottom: #e8491d 3px solid;
+}
+
+#logo {
+ float: left;
+ margin-top: 10px;
+}
+
+#header h1 {
+ float: left;
+ margin-top: 0;
+}
+
+#userForm, #scheduleForm, #shiftForm {
+ margin: 20px 0;
+ background: #f4f4f4;
+ padding: 20px;
+ color: #333;
+ border-radius: 4px;
+}
+
+.success {
+ color: green;
+}
+
+.error {
+ color: red;
+}
+
+.invalid-input {
+ border: 1px solid red;
+}
+
+.button {
+ display: inline-block;
+ color: #fff;
+ background: #50b3a2;
+ padding: 5px 15px;
+ border-radius: 4px;
+ cursor: pointer;
+}
+
+.button:hover {
+ background: #e8491d;
+}
\ No newline at end of file
diff --git a/Public/Assets/JS/Helpers.js b/Public/Assets/JS/Helpers.js
new file mode 100755
index 0000000..2f272ad
--- /dev/null
+++ b/Public/Assets/JS/Helpers.js
@@ -0,0 +1,38 @@
+```javascript
+// Helper functions for the application
+
+// Function to validate user form input
+function validateUserForm() {
+ let userForm = document.getElementById('userForm');
+ // Add validation logic here
+ // Return true if valid, false otherwise
+}
+
+// Function to validate schedule form input
+function validateScheduleForm() {
+ let scheduleForm = document.getElementById('scheduleForm');
+ // Add validation logic here
+ // Return true if valid, false otherwise
+}
+
+// Function to validate shift form input
+function validateShiftForm() {
+ let shiftForm = document.getElementById('shiftForm');
+ // Add validation logic here
+ // Return true if valid, false otherwise
+}
+
+// Function to display messages to the user
+function displayMessage(messageType, messageText) {
+ let messageBox = document.getElementById('messageBox');
+ messageBox.className = messageType;
+ messageBox.innerText = messageText;
+}
+
+// Function to clear messages
+function clearMessage() {
+ let messageBox = document.getElementById('messageBox');
+ messageBox.className = '';
+ messageBox.innerText = '';
+}
+```
\ No newline at end of file
diff --git a/Public/Assets/JS/Main.js b/Public/Assets/JS/Main.js
new file mode 100755
index 0000000..811187e
--- /dev/null
+++ b/Public/Assets/JS/Main.js
@@ -0,0 +1,46 @@
+```javascript
+// Main.js
+
+// Importing helper functions
+import * as helpers from './Helpers.js';
+
+// Initializing the application
+document.addEventListener('DOMContentLoaded', (event) => {
+ initApp();
+});
+
+// Function to initialize the application
+function initApp() {
+ // Attaching event listeners to forms
+ document.querySelector('#userForm').addEventListener('submit', submitUserForm);
+ document.querySelector('#scheduleForm').addEventListener('submit', submitScheduleForm);
+ document.querySelector('#shiftForm').addEventListener('submit', submitShiftForm);
+}
+
+// Function to handle user form submission
+function submitUserForm(event) {
+ event.preventDefault();
+ // Collecting form data
+ let formData = new FormData(event.target);
+ // Calling helper function to send form data to server
+ helpers.sendData('Private/Controllers/User_Controller.php', formData);
+}
+
+// Function to handle schedule form submission
+function submitScheduleForm(event) {
+ event.preventDefault();
+ // Collecting form data
+ let formData = new FormData(event.target);
+ // Calling helper function to send form data to server
+ helpers.sendData('Private/Controllers/Schedule_Controller.php', formData);
+}
+
+// Function to handle shift form submission
+function submitShiftForm(event) {
+ event.preventDefault();
+ // Collecting form data
+ let formData = new FormData(event.target);
+ // Calling helper function to send form data to server
+ helpers.sendData('Private/Controllers/Shift_Controller.php', formData);
+}
+```
\ No newline at end of file
diff --git a/Public/index.html b/Public/index.html
new file mode 100755
index 0000000..fdbda91
--- /dev/null
+++ b/Public/index.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Ultra-coder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
index 815e8df..421f358
--- a/README.md
+++ b/README.md
@@ -1 +1,61 @@
-# BLUEISH
\ No newline at end of file
+# Ultra-coder
+
+Ultra-coder is a web application that manages user schedules and shifts. It is built with PHP, JavaScript, and CSS.
+
+## Directory Structure
+
+```
+|-Root
+ |-Public
+ |-Assets
+ |-Images
+ |- Logo.png
+ |- Background.jpg
+ |-CSS
+ |- Main.css
+ |- Theme.css
+ |-JS
+ |- Main.js
+ |- Helpers.js
+ |-index.html
+ |-Private
+ |-Controllers
+ |-User_Controller.php
+ |-Schedule_Controller.php
+ |-Shift_Controller.php
+ |-Models
+ |-User_Model.php
+ |-Schedule_Model.php
+ |-Shift_Model.php
+ |-Views
+ |-User_View.php
+ |-Schedule_View.php
+ |-Shift_View.php
+ |-Config
+ |-Database_Connect.php
+ |-Vendor
+ |-Third_Party_Library_1
+ |-Third_Party_Library_2
+ |-README.md
+ |-composer.json
+```
+
+## Installation
+
+1. Clone the repository to your local machine.
+2. Navigate to the project root directory.
+3. Run `composer install` to install all the dependencies.
+4. Set up your database and update the `Database_Connect.php` file with your database credentials.
+5. Start your local server and navigate to the `Public` directory in your browser.
+
+## Usage
+
+Open `index.html` in your browser to start using the application. You can register a new user, create schedules, and assign shifts.
+
+## Contributing
+
+Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
+
+## License
+
+[MIT](https://choosealicense.com/licenses/mit/)
\ No newline at end of file
diff --git a/Vendor/Third_Party_Library_1 b/Vendor/Third_Party_Library_1
new file mode 100755
index 0000000..df79c1c
--- /dev/null
+++ b/Vendor/Third_Party_Library_1
@@ -0,0 +1,20 @@
+Since the file type for `Vendor/Third_Party_Library_1` is not specified, I'll assume it's a JavaScript library. Here's a simple example of a JavaScript library that provides a utility function:
+
+```javascript
+(function(global) {
+ 'use strict';
+
+ var ThirdPartyLibrary1 = {};
+
+ ThirdPartyLibrary1.utilityFunction = function(param) {
+ // Implement the function logic here
+ console.log('Utility function called with param: ' + param);
+ };
+
+ if (global.ThirdPartyLibrary1) {
+ throw new Error('ThirdPartyLibrary1 is already defined in the global scope');
+ } else {
+ global.ThirdPartyLibrary1 = ThirdPartyLibrary1;
+ }
+})(this);
+```
\ No newline at end of file
diff --git a/Vendor/Third_Party_Library_2 b/Vendor/Third_Party_Library_2
new file mode 100755
index 0000000..1ec298a
--- /dev/null
+++ b/Vendor/Third_Party_Library_2
@@ -0,0 +1,25 @@
+Since the file type and the specific third-party library are not specified, I'll assume it's a JavaScript library. Here's a basic structure for a JavaScript library:
+
+```javascript
+(function(global) {
+ 'use strict';
+
+ var ThirdPartyLibrary2 = {};
+
+ ThirdPartyLibrary2.someFunction = function() {
+ // Functionality here
+ };
+
+ ThirdPartyLibrary2.anotherFunction = function() {
+ // Functionality here
+ };
+
+ // Expose the library to the global object
+ if (typeof module !== 'undefined' && module.exports) {
+ module.exports = ThirdPartyLibrary2;
+ } else {
+ global.ThirdPartyLibrary2 = ThirdPartyLibrary2;
+ }
+
+})(this);
+```
\ No newline at end of file
diff --git a/composer.json b/composer.json
new file mode 100755
index 0000000..fab6752
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,26 @@
+{
+ "name": "ultra-coder",
+ "description": "A web application project",
+ "type": "project",
+ "require": {
+ "php": "^7.4",
+ "third_party_library_1": "^1.0",
+ "third_party_library_2": "^1.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\Controllers\\": "Private/Controllers",
+ "App\\Models\\": "Private/Models"
+ }
+ },
+ "authors": [
+ {
+ "name": "Ultra Coder",
+ "email": "ultracoder@example.com"
+ }
+ ],
+ "minimum-stability": "stable",
+ "config": {
+ "sort-packages": true
+ }
+}
\ No newline at end of file
diff --git a/shared_dependencies.md b/shared_dependencies.md
new file mode 100755
index 0000000..beec618
--- /dev/null
+++ b/shared_dependencies.md
@@ -0,0 +1,23 @@
+Shared Dependencies:
+
+1. `Database Connection`: The `Database_Connect.php` file in the `Config` directory is shared among all the PHP files in the `Controllers` and `Models` directories. It provides the necessary connection to the database.
+
+2. `User Data Schema`: The `User_Model.php` file in the `Models` directory defines the user data schema, which is used by `User_Controller.php` and `User_View.php`.
+
+3. `Schedule Data Schema`: The `Schedule_Model.php` file in the `Models` directory defines the schedule data schema, which is used by `Schedule_Controller.php` and `Schedule_View.php`.
+
+4. `Shift Data Schema`: The `Shift_Model.php` file in the `Models` directory defines the shift data schema, which is used by `Shift_Controller.php` and `Shift_View.php`.
+
+5. `DOM Element IDs`: The `index.html` file in the `Public` directory defines the DOM elements that the JavaScript files (`Main.js` and `Helpers.js`) interact with. These IDs include `#userForm`, `#scheduleForm`, and `#shiftForm`.
+
+6. `CSS Classes`: The `Main.css` and `Theme.css` files in the `Public/Assets/CSS` directory define the CSS classes that are used in the `index.html` file and manipulated by the JavaScript files.
+
+7. `Image Files`: The `Logo.png` and `Background.jpg` files in the `Public/Assets/Images` directory are used in the `index.html` file.
+
+8. `Third-Party Libraries`: The `Third_Party_Library_1` and `Third_Party_Library_2` in the `Vendor` directory are used across various PHP and JavaScript files for additional functionalities.
+
+9. `Composer Dependencies`: The `composer.json` file in the root directory defines the PHP dependencies that are used across various PHP files in the `Controllers` and `Models` directories.
+
+10. `Function Names`: Functions defined in `Main.js` and `Helpers.js` are used across the `index.html` file and potentially within each other. These might include functions like `initApp()`, `submitUserForm()`, `submitScheduleForm()`, and `submitShiftForm()`.
+
+11. `Message Names`: Certain standard message names might be used across the `Controllers` and `Views` for user feedback, such as `SUCCESS`, `ERROR`, `INVALID_INPUT`, etc.
\ No newline at end of file