The ICT HelpDesk Application is a web-based solution designed to facilitate the management of technical issues within an organization. It provides a platform for clients to report issues and for HelpDesk officers to manage, assign, and resolve these issues effectively.
- User Authentication: Secure login and registration for clients and HelpDesk staff.
- Role-Based Access Control: Different functionalities for clients, General HelpDesk Officers, and HelpDesk Officers.
- Issue Reporting: Clients can report technical issues they encounter.
- Issue Assignment: General HelpDesk Officers can assign reported issues to specific HelpDesk Officers.
- Issue Management: HelpDesk Officers can view, manage, and resolve assigned issues.
- Notifications: Alerts for issue assignments and updates.
- Backend: Laravel
- Frontend: Blade, Tailwind CSS
- Authentication: Laravel Breeze
Ensure you have the following installed:
-
Clone the Repository:
git clone https://github.com/yourusername/ict-helpdesk.git cd ict-helpdesk
-
Install Dependencies:
composer install npm install
-
Copy .env.example to .env:
cp .env.example .env
-
Generate Application Key:
php artisan key:generate
-
Configure Database:
Update
.env
with your database credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=ict_helpdesk DB_USERNAME=root DB_PASSWORD=yourpassword
-
Run Migrations:
php artisan migrate
Seed the database
php artisan migrate:fresh --seed
-
Install Tailwind CSS:
npm run dev
-
Start the Development Server:
php artisan serve
-
Access the Application:
Open your browser and navigate to
http://localhost:8000
.
-
Register Users:
- Client: Sign up through the registration form.
- General HelpDesk Officer & HelpDesk Officers: Create their accounts via the registration form and update their roles in the database.
-
Reporting Issues:
- Clients can log in and submit a new issue via the “Report Issue” form.
-
Assigning Issues:
- General HelpDesk Officers can log in and assign pending issues to HelpDesk Officers.
-
Managing Issues:
- HelpDesk Officers can view their assigned issues, update their status, and mark them as resolved.
app/Models
: Models such asUser
,Issue
, andAssignment
.app/Http/Controllers
: Controllers likeIssueController
,AssignmentController
.resources/views
: Blade templates for the UI.database/migrations
: Migration files for database schema.routes/web.php
: Web routes for the application.
To deploy the application, follow standard Laravel deployment practices:
- Server Setup: Configure a web server (e.g., Apache, Nginx) and set up the environment.
- Database Migration: Run migrations on the production database.
- Optimize: Run optimization commands:
php artisan config:cache php artisan route:cache php artisan view:cache
- Build Assets:
npm run production
Contributions are welcome! Please fork the repository and submit a pull request.
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a new Pull Request
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or issues, please contact tituskiptanuitum@gmail.com.
Leave a Reply