Software Architecture Update Sprint 3
Back end (Finalised and Completed in Sprint 1-2)
https://unswseng.atlassian.net/l/c/n1RmSeTy
Final choice
NodeJS
We chose to use NodeJS as it’s a very well supported and commonly used runtime. NPM allowed us to easily install further frameworks and libraries which made development much easier.
NextJS
NextJS was chosen as it adds a fairly easy to use the framework to work with that Joshua had some experience with. None of its more advanced rendering features was used however it allowed for a fairly easy to understand format for the frontend development.
React
React was used as a library to enable interactive and reactive parts of the site.
Front end
Name | Type | Current team member knowledge of frameworks | Difficulty of frameworks to learn | How well the framework is documented | Availability / pricing of platforms | Additional Notes |
---|---|---|---|---|---|---|
Express | Nodejs framework | Team has no experience | -Medium level | -Well documented | Free + open source | N/A |
Next.js | Nodejs framework | Joshua has minimal experience. | -Easy to use simply -Some parts like different rendering types can be more complicated | -Fairly well documented -Can find some debugging more difficult due to differences between frameworks | Free + open source | N/A |
Boot strap | CSS Framework | Team has no experience | -Easy to use however can be more complicated then simple plain javascript however easier for better looking designs | -Well documented with lots of support | Free + open source | Adds extra visual flair |
React | Library | Joshua has minimal. Rest of team has no experience | -Fialry easy to learn, has some advance features -Easy to get started with | -Very well documented as very commonly used | Free + open source | Pro: Reuse HTML code anywhere in the app to build other components Con: not as in depth documentation Cons : limits team size |
Angular | Javascript framework | Team has no experience | -Quite difficult to learn in comparison to React -Steep learning curve. | -Well documented however less common then react | Free + open source | -Clean code : compiles JS and will point out errors -Server performance : improved in app -Issues : complex to understand , migrating from old version to new Angular 8 version can slow down project |
Vue | Javascript framework | Team has no experience | -Challenging to debug | -Well documented however can be harder to find correct help | Free + open source | Flexibility - write both HTML and JS in the template -Fast and lightweight -Reuse into existing apps Issues : potential for issues / errors in the codebase for teams working on a big project |
Vanilla | Plain javascript | Team has minimal expeirence | -Very simple -Lack of features means doing some things can escelate quickly | -Extremely well documented as used within all other options | Free | N/A |
NodeJS | JavaScript runtime enviorment | Joshua has minimal experience |
| Very well documented as extremely commonly used | Free + open source | Allows integration of other libraries and frameworks easily |