Overview
The purpose of this documentation is to provide a comprehensive guide to the project’s architecture, features, conventions, and development workflow. By consolidating a decade’s worth of development into a single, structured knowledge base, this resource aims to help developers quickly onboard, navigate the system with confidence, and focus their efforts on shaping the project's future rather than deciphering its past. It's highly encouraged that developers continue to add to this knowledge base as they become more familiar with Science Island, and as changes are made to the code base and services.
Since its inception in 2014, Science Island has grown into a complex and expansive system, shaped by the contributions of over 1,000 developers. Over the years, multiple teams have worked on different aspects of the project, resulting in a rich tapestry of innovation, problem-solving, and technical evolution. The project has withstood shifting industry trends, varying development approaches, and the challenges inherent in long-term, large-scale software maintenance.
Navigating si-docs
Header
Docs: Is where technical documentation relating to tools and guides is stored. The information under this section should be robust and reflect the current state of Science Island.Blog: Is where teams leave notes that may not stand the test of time, and would otherwise bog down regular documentation with information that could quickly become outdated. This includes recommendations to future teams, breakdowns of complex problems, or a backlog of tasks that the current team may not get around to completing.
Sidebar
Tools and Technologies: Contains introductions and guides on using the tools and technologies that Science Island is built upon. These documents are more general to the tool.Guides: Contains detailed guides on how things have been implemented within Science Island. These documents are specific to this project.Project Management: Contains guidelines for best practices while working on Science Island, ensuring cohesiveness across development teams.Archive: For information that has previously belonged in the above categories. This information is no longer relevant to the current state of the project, however it may see reimplementation in the future.