Skip to content

Commit 919df35

Browse files
committed
UML Use-Case diagram, Site Map and URL Table
1 parent 10db9c1 commit 919df35

23 files changed

+80
-56
lines changed

docs/README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
## Software Analysis
44
- [Requirements Specification](./specs/requirements_specification.md)
5-
- [Site Map](./specs/site_map.md)
5+
- [URL Table](./specs/url_table.md)
66
- [REST API](./specs/rest_api.md)
77

8-
## Design Diagrams
8+
## Diagrams
99
- [Database ER Diagram](./database/Database_PostgreSQL_ER_Diagram.png)
10-
- [UML Diagram](./uml/UMLphoto.jpg)
11-
- [Wireframes](./wireframes/wireframes_diagram.md)
10+
- [Site Map](./design/site_map.png)
11+
- [UML Use Case Diagram](./design/UML_Use-Case_Diagram.png)
12+
- [Wireframes](./design/wireframes_diagram.md)

docs/design/UML_Use-Case_Diagram.png

168 KB
Loading

docs/design/site_map.png

25.1 KB
Loading
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/design/wireframes_diagram.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## DEVils-Scrum-Tool Wireframes
2+
These wireframes show the platform's pages as originally designed by our team. Even though some changes have been made during development, more or less are the same both visually and functionally.
3+
4+
### Index Page
5+
![Index Wireframe](./wireframes/Index%20Page.png)
6+
7+
### Sign Up Page
8+
![Sign up Wireframe](./wireframes/Sign%20up%20page.png)
9+
10+
### Sign In Page
11+
![Sign in Wireframe](./wireframes/Sign%20In%20Page.png)
12+
13+
### Forgot Password Page
14+
![Forgot Password Wireframe](./wireframes/Forgot%20Password%20page.png)
15+
16+
### User Homepage
17+
![User Homepage](./wireframes/User%20Homepage.png)
18+
19+
### Profile Page
20+
![Profile Wireframe](./wireframes/Profile%20Page.png)
21+
22+
### Edit Profile Page
23+
![Edit Profile Wireframe](./wireframes/Edit%20Profile%20Page.png)
24+
25+
### Change Password Page
26+
![Change Password Wireframe](./wireframes/Change%20Password%20Page.png)
27+
28+
### Project Page - Overview Current Sprint
29+
![Project Page - Overview](./wireframes/Project%20Page%20-%20Overview.png)
30+
31+
### Project Page - Overview Finished Sprint
32+
![Project Page - Finished Sprint](./wireframes/Project%20Page%20-%20Finished%20sprint.png)
33+
34+
### Product Backlog Page
35+
![Product Backlog](./wireframes/Project%20Page%20-%20Backlog.png)
36+
37+
### Old Sprints Page
38+
![Previous Sprints' Page](./wireframes/Project%20Page%20-%20Previous%20Sprints.png)
39+
40+
### Create New Sprint
41+
![Create New Sprint](./wireframes/Project%20Page%20-%20Create%20new%20sprint.png)
42+
43+
### Sprint Backlog Page
44+
![Sprint Page Overview](./wireframes/Sprint%20Page%20Overview.png)

docs/specs/requirements_specification.md

+9-7
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
| 43 | Delete Issue | All users | On the bottom right of the edit issue modal (#42), a button named "Delete Issue" is located. Click it and this issue will be deleted from this task's list of issues. This has to be the best action of every developer using this application!!! |
5555
| 44 | Go back to Homepage (#11) | All users | Click the "DEVils-Scrum-Tool" logo on the top left of the navigation bar. |
5656

57+
5758
## Non-Functional Requirements
5859

5960
| # | Category | Title | Description |
@@ -72,12 +73,13 @@
7273
| 12 | Usability | Minimalistic Design | The user interface follows minimalistic design: 1. The interface is easy to get used to. 2. Lots of text is avoided. 3. Easy and straightforward navigation between main pages. |
7374
| 13 | Maintainability | Modularity | The code is built in modules, so that independent parts accomplish independent tasks. This is accomplished through the use of spring boot framework on back-end, while lots of components have been implemented on front-end, using Vuejs. |
7475
| 14 | Maintainability | Layered Application Design | Application consists of different layers like Presentation Layer (front-end, Vuejs), Business Layer (back-end, Spring Boot) and Data Layer (JPA-Hibernate on a PostgreSQL Database). (3-Tier) |
75-
| 15 | Testability | Unit & Integration Testing | Both on front-end (Jest) and back-end (JUnit & Mockito) testing is implemented. On back-end, integration tests are implemented using an In-Memory embedded database with preloaded data. |
76+
| 15 | Testability | Unit & Integration Testing | Both on front-end (Jest) and back-end (AssertJ & Mockito) testing is implemented. On back-end, integration tests are implemented using an In-Memory embedded database with preloaded data. |
7677
| 16 | Reliability | Free of Bugs with Safe Operations | During development, extensive testing and fixes on bugs have taken place, so as we are convinced that there will not be any problems during application usage. Moreover, a special care has been given on safe database operations, as use of transactions and foreign keys eliminate the possibility of a fatal data error. |
7778
| 17 | Performance | AJAX Calls | AJAX-based asynchronous model is used for client - server communication, minimizing the pages reloads. |
78-
| 18 | Portability | Environment Independence | The prerequisites that the application needs to run is Java 11 for back-end and nodejs for front-end, as a result, a great portability is secured. Moreover, by using docker, our application's portability is even more extensive, as there are Dockerfiles (along with instructions) to deploy front-end, back-end and database into independent containers. |
79-
| 19 | Extensibility | RESTful Architecture | A RESTful API has been created (and documented), which could be used in a future extension of our platform to a mobile application (Android, IOS) without many changes. |
80-
| 20 | Extensibility | Documentation | A complete documentation comes with this application, which helps developers to understand and develop even more the application's code. Design diagrams, Requirements Specification, Site Map and REST API are provided along with source code. |
81-
| 21 | Deployment | Deploy on (remote) server | The application is deployed for production in Heroku. For development an embedded Tomcat server (coming with Spring Boot) is used, while also containerization is another available option, with the use of docker. Both files and deploying instructions are given in client and server README files. |
82-
| 22 | Availability | Percentage of Accessibility | As this application is deployed on a free (hobby) Heroku host, the availability is not the best possible. Heroku servers go to idle 20 minutes after the last AJAX request, so it will be a bit slow on the first access. Also there is usual database maintenance, so the server may be off for some minutes. |
83-
| 23 | Cost | Total Free!! | It is strongly suggested that if a developers team wants to use this application, to fork it and deploy it on their own Heroku account, using a hobby account. In this way, not only they will have their private online tool, with no other users (improving the performance), but also use a simple yet powerful open source Scrum tool application totally FREE OF CHARGE!! |
79+
| 18 | Performance | Pagination | On index page, the project that user participates in are presented (both current and done). To avoid loading all projects together, pagination is used, as both current and done projects are retrieved from database by groups of 4 each time by increasing deadline order (depending on the page loaded each time). |
80+
| 19 | Portability | Environment Independence | The prerequisites that the application needs to run is Java 11 for back-end and nodejs for front-end, as a result, a great portability is secured. Moreover, by using docker, our application's portability is even more extensive, as there are Dockerfiles (along with instructions) to deploy front-end, back-end and database into independent containers. |
81+
| 20 | Extensibility | RESTful Architecture | A RESTful API has been created (and documented), which could be used in a future extension of our platform to a mobile application (Android, IOS) without many changes. |
82+
| 21 | Extensibility | Documentation | A complete documentation comes with this application, which helps developers to understand and develop even more the application's code. Design diagrams, Requirements Specification, Site Map and REST API are provided along with source code. |
83+
| 22 | Deployment | Deploy on (remote) server | The application is deployed for production in Heroku. For development an embedded Tomcat server (coming with Spring Boot) is used, while also containerization is another available option, with the use of docker. Both files and deploying instructions are given in client and server README files. |
84+
| 23 | Availability | Percentage of Accessibility | As this application is deployed on a free (hobby) Heroku host, the availability is not the best possible. Heroku servers go to idle 20 minutes after the last AJAX request, so it will be a bit slow on the first access. Also there is usual database maintenance, so the server may be off for some minutes. |
85+
| 24 | Cost | TOTAL FREE!! | It is strongly suggested that if a developers team wants to use this application, to fork it and deploy it on their own Heroku account, using a hobby account. In this way, not only they will have their private online tool, with no other users (improving the performance), but also use a simple yet powerful open source Scrum tool application totally FREE OF CHARGE!! |

docs/specs/url_table.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# DEVils-Scrum-Tool Web Pages URL Table
2+
This table contains all the pages that this platform contains, along with their URLs, the Vue components that represent them, if they are working with a logged in user (or not) and a brief description.
3+
4+
## URL Table
5+
6+
| URL | Component (Vue.js) | Authorized User | Description |
7+
|-|:-:|:-:|-|
8+
| / | IndexDefault | No | The default Index page of application, when the user is not logged in. Basic information about the app are provided here. |
9+
| /signup | SignUp | No | A from with signup credentials lies in this page. When user has fill them and press "Sign Up", he/she is redirected to Index page as a logged in user. |
10+
| /signin | SignIn | No | Log In page, where user fill in his/her email and password to insert into the application. |
11+
| /forgotpass | ForgotPass | No | If the user has forgotten the password, he is supposed to retrieve it by a link to his/her email. This function is NOT IMPLEMENTED! |
12+
| / | Index | Yes | The index page of DEVils-Scrum-Tool when the user is logged in. All the projects that user participates in are presented here, along with the ability to create new ones. |
13+
| /users/{username} | Profile | Yes | A card with basic profile information about the user with attached (in URL) username. This can be either the logged in user's profile, or some other one's. |
14+
| /editprofile | EditProfile | Yes | User can edit his profile information, change his password or delete his account. |
15+
| /project/{projectId}/overview | ProjectPageOverview | Yes | The overview of the selected project (with id = projectId), showing the project's info, its current sprint's information, along with the team members. |
16+
| /project/{projectId}/backlog | Backlog | Yes | The product backlog page. A user can create/edit/delete epics and user stories in this page. |
17+
| /project/{projectId}/sprints | OldSprints | Yes | A list with all sprints of this project lies in this page. |
18+
| /project/{projectId}/newsprint | NewSprint | Yes | A form to create a new current sprint. Along with sprint's information, a user can add user stories in this sprint before its creation. |
19+
| /project/{projectId}/sprintbacklog/{sprintId} | SprintBacklog | Yes | The core of this application, with a big kanban board, in which user can add/edit/move/delete tasks and issues that are attached to a user story. Also he/she can add user stories in the sprint backlog, and update the sprint's information. |
20+
| /unauthorized | Unauthorized | - | If a user attempts (with a hardcoded URL) to access a page where he/she has no right to (e.g a non-logged in user to a user's profile, or an authorized one to a project which has no access to, then the application redirects in this page by default. |
21+
| * | PageNotFound | - | Whenever an invalid URL is provided (anything else than the above URLs), the application redirects to this default page. |

docs/uml/UMLphoto.jpg

-137 KB
Binary file not shown.

docs/wireframes/wireframes_diagram.md

-44
This file was deleted.

server/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Check it on http://localhost:8765/api/hello (Message: "Greetings from Spring Boo
3232
### Build (without time-consuming tests)
3333
./gradlew build -x test
3434

35-
### Spring Boot Integration Testing (JUnit5 & Mockito)
35+
### Spring Boot Integration Testing (AssertJ & Mockito)
3636
./gradlew test
3737

3838
### Format the code

0 commit comments

Comments
 (0)