Starting new Projects
We want to encourage all students to contribute to our organisation cs, either by improving our current systems or adding a project to the organisation, which then we can potentially host on the bathcs.com domain.
Mirroring
Due to some projects’ complexity and the fact that original author may want to use their code to gain respect on GitHub or use it for jobs, we allow people to just mirror their project into the organisation.
However we do require the project to be stored in the organisation for maintainability and future reference.
If you are mirroring, please make sure that the current version on the GitHub is the version which is hosted on bathcs.com or is currently used. The project description on Bath GitLab must link to the canonical (original) source code.
Licensing
We require all projects to have an MIT license so that we can use it in a commercial aspect.
Requirements
Due to most projects being tested by chaotic Computer Science students as well as hosted publicly, we have a high set of requirements for projects and things which need to be considered.
More requirements are hidden within the pages in this wiki, so please make sure to read any relevant pages. Hopefully we have made this at least somewhat entertaining to read or at least easy to skim.
To consider
- Hand over procedure: Is there anything which cannot be handed over by our current procedures, if so how?
Functional
- Include credits for who wrote it and contact details once you leave the University.
- All systems must comply with our data collection + security policies (to be written)
- If an admin account is required for some parts, please use auth.bathcs.com to validate the user - documentation to be written :P
- GitHub main branch should be protected (except on mirrors?)
- Follow the code guidelines in our code guidelines page
- Follow the design principles in our design page
- Get someone to review your code (this helps with not having any security issues)
- All data input should be validated on the backend (not just the frontend)
- Documentation should be included to setup a development environment as well as production
Non-functional
- Hosting needs to be free (we will not get any funding)
- 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).