New BOSS projects: Difference between revisions
m Pm2022 moved page BOSS/Projects to New BOSS projects |
→Non-functional: add boss hosting guide |
||
| (One intermediate revision by the same user not shown) | |||
| Line 29: | Line 29: | ||
* All systems must comply with our [[BOSS data collection policy|data collection]] and [[BOSS security policy|security policies]]. | * All systems must comply with our [[BOSS data collection policy|data collection]] and [[BOSS security policy|security policies]]. | ||
* If an admin account is required for some parts, please use [[auth.bathcs.com]] to validate the user | * If an admin account is required for some parts, please use [[auth.bathcs.com]] to validate the user | ||
* All data input should be validated on the backend (not just the frontend) | * All data input should be validated on the backend (not just the frontend) | ||
=== Non-functional === | === Non-functional === | ||
* Keep It Simple Stupid: do not add any features that are not needed; do not use a fancy programming language that is not needed; do not collect data that is not needed. | |||
* Where practical, use an existing open source library, rather than building your own. This is because students don’t have much time and don’t want to be managing a completely new system. | |||
* Include credits for who wrote it and contact details once you leave the University. | * Include credits for who wrote it and contact details once you leave the University. | ||
* Hosting needs to be free | * Hosting needs to be free. See the [[Hosting BOSS projects]] guide. | ||
* Webpages should be light and fast to load (so we support all type of devices) | * Webpages should be light and fast to load (so we support all type of devices) | ||
* A webpage should work on mobile (because students are lazy). | * A webpage should work on mobile (because students are lazy). | ||
* The main branch should be protected (except for mirrors) | * The main branch should be protected (except for mirrors) | ||
* Get someone to review your code (this helps with not having any security issues) | * Get someone to review your code (this helps with not having any security issues) | ||
* Code follows relevant [[Programming language guidelines]] | * Code follows relevant [[Programming language guidelines]] and the style of the language used. If you try to go against the style of the programming language, you will find more barriers and have to implement hacky workarounds which will lead to unreadable, confusing and buggy code. | ||
* The project must be deployable with Docker for security reasons. | |||
* Documentation should be included to setup a development environment as well as production | * Documentation should be included to setup a development environment as well as production | ||
[[Category:Bath Open Source Society]] | [[Category:Bath Open Source Society]] | ||