This template is provided for your reference, along with the others on the projects page. Note that it is written in markdown which is displayed differently here than it is on GitHub, so the formatting will look different once you have access to the repo — this is expected.
The introduction provides context for the project. Identify the software product(s) to be produced by name. Explain what the software product(s) will, and, if necessary, will not do.
List all the external systems with which the software product interacts. These are external systems/libraries that you have to interact with.
Specify the logical characteristics of each interface between the software product and its users. This is a description of how the system will interact with its users.
Describe those general characteristics of the intended users of the product, including educational level, experience, and technical expertise.
List each of the factors that affect the requirements stated in the document.
These subsections contain all the software requirements at a level of detail sufficient enough to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements.
List the quality attributes that are important for your system (e.g., reliability, security) and explain why they are important for your system and how they will be measured.