• No results found

From the start of the project the group was interested in the project and had a clear vision of how the repository should be. The group members started read-ing, researching and working on the project before the semester started to be as prepared as possible. Starting strong only meant that the rest of the project went well.

This was not the first time the group has been working together in a project.

This is why organizing, communication and planning how to carry out the project went as well as it did. The group did not encounter any problems work-ing together, and all conflicts have been solved with minimal issues. The group worked with developing the system from January and worked with the project almost every weekday Monday-Friday since project start. The group members schedules were known from before project start, in this case work and other school subjects, which meant they were accounted for early. A worklog has been created to track what and how much the members have done each work-ing day throughout the project, the worklog can be seen on Appendix B.

The group members strengths and weaknesses were addressed early and meant choosing a role which enabled each other the most were set early. The group members had similar amounts of work distributed across the project de-velopment and writing the rapport. The supervisor and employer were both helpful with keeping the project on the right path and giving advice on what to implement.

The Kanban board showed to be tremendous help for the group as it enabled individual work and tracking what needed to be done by setting deadlines and objectives. As a development method it works well, it was easy to set up, plan and use.

Bibliography

[1] Virustotal. [Online]. Available:https://www.virustotal.com/, Accessed:

2021-05-10 20:50.

[2] M. E. Whitman and H. J. Mattord,Principles of information security. Cen-gage Learning, 2011.

[3] Ncsc. [Online]. Available:https://nsm.no/fagomrader/digital-sikkerhet/

nasjonalt-cybersikkerhetssenter/, Accessed: 2021-5-11 11:02.

[4] A. Apvrille and M. Pourzandi, “Secure software development by exam-ple,”IEEE Security & Privacy, vol. 3, no. 4, 2005.

[5] M. R. Stytz, “Considering defense in depth for software applications,”

IEEE Security & Privacy, vol. 2, no. 1, pp. 72–75, 2004.

[6] A. Adhikari, “Full stack javascript: Web application development with mean,” 2016.

[7] S. Alimadadi, A. Mesbah, and K. Pattabiraman, “Understanding asyn-chronous interactions in full-stack javascript,” in 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), IEEE, 2016, pp. 1169–1180.

[8] Web development stacks – what stacks (should) we use in 2021?The Soft-ware House, Jul. 2020. [Online]. Available: https://tsh.io/blog/web-development-stacks/, Accessed: 2021-3-1 12:00.

[9] M. A. Jadhav, B. R. Sawant, and A. Deshmukh, “Single page application using angularjs,”International Journal of Computer Science and Informa-tion Technologies, vol. 6, no. 3, 2015.

[10] Typed javascript at any scale, TypeScript. [Online]. Available:https://

www.typescriptlang.org/, Accessed: 2021-2-10 14:10.

[11] A. Oualim,How to serve an angular app with node js api on a nginx server.

[Online]. Available: https://medium.com/@anasecn/how-to-serve-an-angular- app- with- node- js- api- on- a- nginx- server- ca59de51850, Accessed: 2021-5-19 10:30.

75

[12] Ryan Chenkie, “Angular authentication: Using route guards,” Jul. 2017.

[Online]. Available: https://medium.com/@ryanchenkie_40935/angular-authentication- using- route- guards- bf7a4ca13ae3, Accessed: 2021-4-29 13:34.

[13] Sherry Hsu, “Session vs token based authentication,” Jun. 2018. [On-line]. Available: https://medium.com/@sherryhsu/session-vs-token-based-authentication-11a6c5ac45e4, Accessed: 2021-4-26 14:55.

[14] Feide,Openid connect/oauth technical details. [Online]. Available:https:

//docs.feide.no/service_providers/openid_connect/index.html, Accessed: 2021-5-15 14:05.

[15] T. Ukachukwu,Authentication using passport.js in a node.js backend api.

[Online]. Available: https://javascript.plainenglish.io/authentication-using- passport- js- in- a- node- js- backend- api- 51e9946549cb, Ac-cessed: 2021-5-19 11:40.

[16] Passport,Passport overview. [Online]. Available:http://www.passportjs.

org/docs/, Accessed: 2021-5-15 14:39.

[17] Postman 2017 state of api survey. [Online]. Available: https : / / www . prweb.com/releases/2017/10/prweb14767541.htm, Accessed: 2021-5-14 2021-5-14:30.

[18] Nick Coons, Storing large files, Jul. 2013. [Online]. Available: https : / / stackoverflow . com / questions / 17935978 / storing large files -binary - data - in - a - mysql - database - when - is - it - ok / 17941042 # 17941042, Accessed: 2021-3-13 11:34.

[19] Winston, Techopedia, Aug. 2020. [Online]. Available:https://github.

com/winstonjs/winston, Accessed: 2021-2-9 10:15.

[20] Policy for information security. [Online]. Available: https://innsida.

ntnu . no / wiki/ - /wiki / English / Policy + for + information + security, Accessed: 2021-5-12 14:00.

[21] J. P. Sullins, “A case study in malware research ethics education: When teaching bad is good,” in 2014 IEEE Security and Privacy Workshops, IEEE, 2014, pp. 1–4.

[22] The mongodb 4.4 manual, MongoDB. [Online]. Available:https://mongoosejs.

com/docs/index.html, Accessed: 2021-2-10 14:54.

[23] Mongoose getting started, Mongoose. [Online]. Available:https://mongoosejs.

com/docs/index.html, Accessed: 2021-2-10 14:58.

[24] The Net Ninja, Mongodb for beginners, Jan. 2017. [Online]. Available:

https://www.youtube.com/playlist?list=PL4cUxeGkcC9jpvoYriLI0bY8DOgWZfi6u, Accessed: 2021-2-10 14:59.

Bibliography 77

[25] Erkan Güzeler, “Angular role-based routing access with angular guard,”

Apr. 2020. [Online]. Available: https://medium.com/echohub/angular-role-based-routing-access-with-angular-guard-dbecaf6cd685, Ac-cessed: 2021-2-10 15:13.

[26] guelfoweb,Peframe. [Online]. Available:https://github.com/guelfoweb/

peframe, Accessed: 2021-05-10 20:50.

[27] Rest api tutorial. [Online]. Available: https : / / restfulapi . net/, Ac-cessed: 2021-5-14 14:30.

Appendix A

Additional Material

79

PROJECT AGREEMENT

between NTNU Faculty of Information Technology and Electrical Engineering (IE) at Gjøvik (education institution), and

__________________________________________________________________________________________

_________________________________________________________________________ (employer), and

__________________________________________________________________________________________

__________________________________________________________________________________________

_______________________________________________________________________________ (student(s))

The agreement specifies obligations of the contracting parties concerning the completion of the project and the rights to use the results that the project produces:

1. The student(s) shall complete the project in the period from __________________ to __________________.

The students shall in this period follow a set schedule where NTNU gives academic supervision.

The employer contributes with project assistance as agreed upon at set times. The employer puts knowledge and materials at disposal necessary to complete the project. It is assumed that given problems in the project are adapted to a suitable level for the students’ academic knowledge. It is the employer’s duty to evaluate the project for free on enquiry from NTNU.

2. The costs of completion of the project are covered as follows:

- Employer covers completion of the project such as materials, phone/fax, travelling and necessary accommodation on places far from NTNU. Students cover the expenses for printing and completion of the written assignment of the project.

- The right of ownership to potential prototypes falls to those who have paid the components and materials and so on used to make the prototype. If it is necessary with larger or specific investments to complete the project, it has to be made an own agreement between parties about potential cost allocation and right of ownership.

NTNU