diff --git a/evaluations/grant_management_webapp_1_dsm-w3f.md b/evaluations/grant_management_webapp_1_dsm-w3f.md index d68e4f38b..bfd201f97 100644 --- a/evaluations/grant_management_webapp_1_dsm-w3f.md +++ b/evaluations/grant_management_webapp_1_dsm-w3f.md @@ -10,13 +10,153 @@ | Number | Deliverable | Accepted | Link | Evaluation Notes | | ------ | ----------- | -------- | ---- |----------------- | | **0a.** | License | | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | -| **0b.** | Documentation | | [User Guide](https://docs.google.com/document/d/1BLBns9tTUSpJMu7MhuQdLZYF8mUBQ8TD/edit) | Not fully evaluated yet. | -| **0c.** | Testing and Testing Guide | | - | Not fully evaluated yet. | -| **0d.** | Docker | | - | Not fully evaluated yet. | +| **0b.** | Documentation | | [User Guide](https://docs.google.com/document/d/1BLBns9tTUSpJMu7MhuQdLZYF8mUBQ8TD/edit) | | +| **0c.** | Testing and Testing Guide | | - | | +| **0d.** | Docker | | - | | | 1 | Frontend | | [Github Repository](https://github.com/antiers-solutions/gmw-frontend) | Not fully evaluated yet. | -| 2 | Backend | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | Not fully evaluated yet. | -| 3 | Backend | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | Not fully evaluated yet. | -| 4 | Data Base | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | Not fully evaluated yet. | +| 2 | Backend | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | | +| 3 | Backend | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | | +| 4 | Data Base | | [Github Repository](https://github.com/antiers-solutions/gmw-backend) | | + +## Evaluation V2 + +### Backend + +This time, I could use it with and without Docker. + +Without Docker, the application starts loading the `db-dump` and MongoDB stores the data. I ran the API tests, and all tests passed. + +
+ +``` +user@localhost:~/Documents/webapp/gmw-backend$ npm run test:api:coverage + +> gmw-backend@1.0.0 test:api:coverage +> nyc --reporter=text mocha --timeout 30000 -r ts-node/register ./src/tests/Api/api.test.ts + + + + Connecting to mongodb server + Connecting to redis server + Redis connected + MongoDB connected + Data Successfully Stored to DB from json file + Creating test database... + POST /api/user/signup +User Signup + ✔ It should return authToken and user github data (86ms) + + GET /api/teams/get-all + ✔ It should return teams data + + GET /api/teams/get-by-id/:teamId + ✔ It should return team data by its id + ✔ Giving wrong team id and it should return message Not Found! + + GET /api/teams/search-by-name + ✔ It should return teams data by its name + ✔ Giving it wrong name it should return message Not Found ! + + PUT /api/teams/merge-team updates + ✔ It should updates the team name and return updated team id + ✔ Giving wrong team id and it should return message Not Found! + + GET /api/project/get-all + ✔ It should return all Project data + + GET /api/project/get-by-id/:projectId + ✔ It should return Project data by project-id + + GET /api/project/search-by-name + ✔ Ir should return Project data by project-name + + GET /api/project/filter + ✔ It should return Project by project-filter (level and status) + + GET /api/milestone/get-all + ✔ It should return milestone data + + GET /api/milestone/get-by-projectId/:projectId + ✔ It should return Milestone data by project-id + + GET /api/graph/get-projects-count-by-status + ✔ It should return Project Count by its status (96ms) + + GET /api/graph/get-projects-count-by-level + ✔ It should return Project Count by its level (86ms) + + GET /get-rejected-accepted-projects-year + ✔ It should return Project Count by its level (45ms) + + DELETE /api/user/logout + ✔ It should logout the user and return data null + + Dropping the test database... + Redis client disconnected + MongoDB disconnected + + 18 passing (857ms) + +---------------------------|---------|----------|---------|---------|-------------------------------------------- +File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s +---------------------------|---------|----------|---------|---------|-------------------------------------------- +All files | 84.08 | 61.03 | 92.42 | 84.12 | + controller-helpers | 67.1 | 41.02 | 88.23 | 66.99 | + githubHook.helper.ts | 28.84 | 1.21 | 50 | 28.84 | 25-119,132-152 + graph.helper.ts | 81.81 | 57.14 | 100 | 81.81 | 49,94,145-154,167,170 + milestone.helper.ts | 80.76 | 50 | 100 | 80.76 | 49,57-63,100,108 + projects.helper.ts | 54.54 | 37.5 | 85.71 | 54.54 | 53,65-71,93,99,137,146,165-184,242,251-341 + teams.helper.ts | 90 | 78.57 | 100 | 89.83 | 32,47,71,120,161,212 + user.helper.ts | 73.33 | 70 | 80 | 73.33 | 57,77-93,144,175,189-200,221 + controllers | 97.6 | 79.54 | 96.15 | 97.6 | + graph.controller.ts | 100 | 100 | 100 | 100 | + milestone.controller.ts | 100 | 87.5 | 100 | 100 | 54 + projects.controller.ts | 91.89 | 75 | 85.71 | 91.89 | 116-122 + teams.controller.ts | 100 | 83.33 | 100 | 100 | 60-77 + user.controller.ts | 100 | 75 | 100 | 100 | 37 + db-dump | 89.47 | 100 | 100 | 88.88 | + index.ts | 89.47 | 100 | 100 | 88.88 | 14-18 + helpers | 68.18 | 40 | 57.14 | 68.29 | + jsondata.helper.ts | 66.66 | 33.33 | 100 | 65 | 12,19-24,31-33 + octoConnection.helper.ts | 69.56 | 50 | 50 | 71.42 | 30,39-44 + middleware | 84.21 | 70 | 100 | 83.33 | + sessionCheck.ts | 84.21 | 70 | 100 | 83.33 | 54-66 + models | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + models/Milestone | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + models/Project | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + models/Proposal | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + models/Team | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + models/Users | 100 | 100 | 100 | 100 | + index.ts | 100 | 100 | 100 | 100 | + mongoDB | 86.66 | 50 | 88.88 | 86.66 | + connection.ts | 86.66 | 50 | 88.88 | 86.66 | 28-29,64-70 + tests/Api | 96.92 | 74.81 | 97.95 | 97.29 | + api.test.ts | 96.92 | 74.81 | 97.95 | 97.29 | 43-46,456-458 + tests/connection | 100 | 100 | 100 | 100 | + connection.ts | 100 | 100 | 100 | 100 | + validation | 87.5 | 50 | 100 | 85.71 | + user.validation.ts | 87.5 | 50 | 100 | 85.71 | 15 +---------------------------|---------|----------|---------|---------|-------------------------------------------- +``` + +
+ + +### Frontend + +I tested it, and in general, it works. I needed to deactivate the CORS to API Requests works. I could log in via token or sign in with GitHub. I have some doubts and improvement suggestions: + +- I think the names of projects and teams are too small to read it. It is possible to configure that? +- It would be nice to have a functionality to sort the tables by other columns than name. In this way, we could for example sort by date or cost. +- The application button in the specific team isn't working. Will it be implemented in the future in the next milestone? +- The team merge and the project status changes only in the database or in GitHub too? I haven't tested this function yet. If it changes github, how could we test it without using it in the production repositories? How did you tested it? +- What do you mean by a project? It is the same of a grant application? +- The milestone tables don't render the table borders, it is possible to render it? ## Evaluation V1