User Stories - DevelopingSpace/starchart GitHub Wiki
Overview
A Seneca student wants to run a server/service for a course securely (i.e., using a TLS/SSL certificate).
A Seneca student needs to obtain a TLS/SSL certificate as part of their coursework without spending any money or exposing personal information.
A Seneca student needs to create one or more unique domain names for their course work.
A Seneca professor wants to be able to have their students create subdomains/certificates for labs, assignments, projects, etc. without having to do anything manually.
A Seneca professor needs high-quality, online resources that they can point their students at, which describe the steps necessary to create and use subdomains/certificates in various services, providers, and technologies using Starchart.
Student Stories
A Seneca student needs to be able to log in securely using their existing Seneca SSO account, without needing to register a new username or password.
A Seneca student needs to be able to create a new subdomain (e.g., name1.username.example.com) and provide an IPv4 IP Address to be used (A Record), along with information about how it will used (e.g., description, course, etc).
A Seneca student needs to be able to create a new subdomain (e.g., name2.username.example.com) and provide an IPv6 IP Address to be used (AAAA Record), along with information about how it will used (e.g., description, course, etc).
A Seneca student needs to be able to create a new subdomain (e.g., name3.username.example.com) and provide an existing Domain Name to be used (CNAME Record), along with information about how it will used (e.g., description, course, etc).
A Seneca student needs to be able to see the list of all subdomains they have created.
A Seneca student needs to be able to modify an existing subdomain that they have created in order to correct a typo or update the IP address or domain mapping.
A Seneca student needs to be able to delete an existing subdomain that they have created.
A Seneca student needs to be able to get detailed instructions on how to use their custom subdomain with certbot to request and automatically renew their own TLS/SSL certificates for a service they want to run using an HTTP Challenge
A Seneca student needs to be able to request that a TLS/SSL certificate be created using a DNS Challenge for all of their subdomains (*.username.example.com), and then obtain the certificate and private key
A Seneca student with a TLS/SSL certificate managed by Starchart needs to have it automatically renew without having to do any steps manually
A Seneca student with a TLS/SSL certificate managed by Starchart wants to be able to manually renew or regenerate their TLS/SSL certificate
A Seneca student with a TLS/SSL certificate managed by Starchart wants to be able to revoke it (e.g., it is no longer needed, or has been compromised).
A Seneca student needs clear documentation in order to understand how to configure and use their subdomain/certificate with various common services, providers, and technologies.
Administrator Stories
A Seneca administrator needs to be able to see a list of all subdomains in use by all Seneca users.
A Seneca administrator needs to be able to see a list of all subdomains in use by a specific Seneca user.
A Seneca administrator needs to be able to see information about a subdomain in use by a specific Seneca user, for example: why and when it was created, for which course, and details about how it is being used.
A Seneca administrator needs to be able to see a list of all TLS/SSL certificates that have been issued for all Seneca users.
A Seneca administrator needs to be able to see whether a TLS/SSL certificate has been issued for a specific Seneca user, and if so, when it will expire.
A Seneca administrator needs to be able to manually renew a TLS/SSL certificate for a specific Seneca user with an existing TLS/SSL certificate.
A Seneca administrator needs to be able to disable/lock the account (i.e., disable all subdomains, revoke the TLS/SSL certificate in use) for a specific Seneca user (e.g., due to abuse or other factors).