The final team project in @ Telerik Alpha Academy
Tele Ticket is an issue tracking system that manages and maintains list of issues, as needed by an organization. The system allows you to create, update and resolve reported issues by organization's employees. Once an employee is assigned to particular team, he is able to create new ticket, change the its status or add comments. Additionally each employee can create a team and assign multiple colleagues to this team.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To run the app you must have following technologies installed on your computer:
Front End:
- Typescript
- Angular 5
- Angular-CLI
- Bootstrap and Paper KIT
- Code editor
Back End:
- MySQL/MariaDB client'
- NodeJS
- NPM
- Express
To run the project:
Backend:
- Go to 'nodeServer/server/app/server.js'
- Run 'npm install'
- Run 'npm start'
Front End:
- Go to 'angular/tele-ticket/src'
- Run 'npm install'
- Run 'ng serve'
The public part of your projects should be visible without authentication.
- Application MUST have public home pagе
- Application MUST have register functionality
- Application MUST have login functionality
Registered users MUST have private area in the web application accessible after successful login, where they could see all tickets assigned to them, all tickets where the user is the requester, a list of all the teams the user is part of and optionally a list of pending team invitations (if no other notification method was implemented).
-
Users MUST be able to create teams consisting of other users (company employees). A team MUST have a queue containing the team’s tickets.
-
A user MUST be presented with a UI which allows him to create a ticket for a team he is a member in, enter the required ticket information and then “SUBMIT” the ticket. The newly created ticket is added to the responsible team’s queue and is visible on the assignee’s and requester’s private areas.
-
Each ticket MUST have id, title, description, labels, status, estimated time for finishing the job, requester (normally the creator of the ticket), assignee and comment section.
-
The team members MUST be able to view the newly created ticket and its data, post comments, change its status (e.g. to COMPLETE), or assign it to themselves or another team member or to the requester (asking them to add more info). The assignee SHOULD receive a notification.
-
A user COULD be able to search for а ticket in the team’s queue by: title, label and assignee.
-
The tickets COULD have “escalation” contact who gets notified in case of problems or complaints regarding the ticket. If the outstanding ticket approaches the estimated deadline, the escalation contact SHOULD receive a notification
-
Users COULD be able to create a ticket “on behalf of” someone else as requester
Your Web application should use the following technologies, frameworks and development techniques:
- Use Angular and preferably Visual Studio Code
- Create beautiful and responsive UI
- Use modules to split your application logic
- Create several different pipes and use them
- Create several different directives and use them
- Create several modules and use them in the routing
- Use guards to prevent the user to access the routes
- All of the data should be loaded from a web server using services
- Unit test a few components
- Your project should pass the default TS linting configuration without any errors
- Your application should compile, work and produce an adequate result
- Use GitHub and take advantage of the branches for writing your features
- Documentation of the project and project architecture (as .md file, including screenshots)
Angular is a TypeScript-based open-source front-end web application platform led by the Angular Team at Google and by a community of individuals and corporations.
NodeJS - is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.
Express - is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
Bootstrap - is a free and open-source front-end library for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons,navigation and others.
MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL.
# | First name | Last name |
---|---|---|
1. | Zhitomir | Oreshenski |
2. | Yavor | Stoychev |
This project is licensed under the MIT License - see the LICENSE.md file for details