CleanTicketsAPI Documentation
CleanTicketsAPI Documentation
Linked In : linkedin.com/in/abdelrahman-mohamed14
+02 01080353779
Clean Tickets API — Full Documentation
📄 Overview
Clean Tickets API is a professional-grade ticketing system backend built entirely from
scratch, starting from an empty solution.
• Clean Architecture
• CQRS Pattern
• MediatR
• Entity Framework Core (EF Core)
• FluentValidation
• JWT Authentication with Refresh Tokens
• Result Pattern (Ardalis.Result)
• Role-Based Access Control (RBAC)
• Global Exception Handling
• Full API Design and Documentation
• Git and GitHub for version control
🚀 Highlights
Despite the small scale, modern standards like CQRS, Result Pattern, and proper layer
separation are respected.
• JWT Authentication
• Refresh Token for session extension
• Role-Based Access Control (RBAC)
Environment Awareness
Media Management
src/
• ASP.NET Core 8
• Entity Framework Core (EF Core)
• MediatR
• FluentValidation
• JWT Authentication
• Refresh Tokens
• Ardalis.Result
• Git & GitHub
• Global Exception Handling
• CORS is currently configured to allow all origins, methods, and headers for
testing purposes.
• Sensitive tokens must be stored in Azure Key Vault or other secret managers in
production.
• Token lifetimes (Access & Refresh) should be configurable based on app needs.
• Images should be uploaded to cloud storage in production, not wwwroot.
🛡️ Endpoints Documentation
🎟️ Tickets (/api/incidents)
For easy testing and role-based validation during development, the application seeds
three predefined users:
If you want to test API endpoints that require a specific role, simply login using
one of the seeded users above based on the required role (e.g., login with
[email protected] to test Admin-only endpoints).
🧩 Features Overview
🎯 Conclusion
📂 GitHub Repository
https://github.com/AbdelRahman-Mohamed-11/clean-tickets-api
Clean Tickets Angular — Full Documentation
🧾 Login
🏡 Homepage
Overview
Tickets Angular is a Ticket Management System frontend developed using Angular, without
relying on any prebuilt UI libraries like Bootstrap or TailwindCSS. The goal was to
demonstrate frontend architecture and styling skills using pure CSS.
Setup Instructions
Login Credentials
The backend system seeds three default users. You can use the following credentials to log
in:
• Admin User
o Email: [email protected]
o Password: Admin123!@
• ERP User
o Email: [email protected]
o Password: ERPp123!@
• Normal User
o Email: [email protected]
o Password: User123!@
You can use any of these accounts to log in and test the application features.
Technologies Used
Important Notes
You must update the backend API URL in the project configuration for the application to
function properly.
• Login Details:
You can log in using any of the predefined seeded users listed above.
Project Limitations (Due to Time Constraints)
• Error Handling:
Proper and comprehensive error handling was not fully implemented due to time
limitations. Ideally, the application should handle errors gracefully and provide user-
friendly messages.
• Styling:
All styling was done manually using pure CSS. Although the current design is functional,
integrating a UI framework like Bootstrap or TailwindCSS could have provided a more
polished and responsive design in less time.
• Unit Testing:
• Architecture:
The entire project was built from scratch without using any templates or generators to
demonstrate full capability in structuring and building Angular applications manually.
GitHub Repository
https://github.com/AbdelRahman-Mohamed-11/tickets-angular
Final Remark
This project demonstrates the ability to build a fully functional Angular application from the
ground up, focusing on clean architecture, manual styling, service separation, and dynamic
data management — all without relying on external UI libraries or scaffolding tools.