Future Work

Below is a list of features for future development:

  • Rate limiting for API requests to prevent denial-of-service attacks.
  • Adding additional commands to the CLI to manage local Snowclone deployment instead of only AWS deployment.
  • For our containerized servers deployed to AWS ECS: breaking the realtime task out into its own service to facilitate scalability.
  • Expanding and improving test coverage. Currently, our test coverage includes areas with significant testable logic, such as the schema server and CLI. We are still forming our philosophies on our approach to testing, and strive to find the ideal balance between the breadth of coverage and meaningfulness of that coverage.
  • Adding Swagger UI documentation to Snowclone deployed onto AWS. Currently, this functionality is only available in Snowclone's locally deployed instance. The tradeoff would be an additional service running on AWS in exchange for having a nice auto-generated API documentation interface.
  • Exposing username and password creation to the public. Currently, only the administrator can add to the user authentication table, which is suitable for use cases where only the administrator has the authority to add and remove users, such as when new employees are added. However, for public apps that want their users to create their logins and passwords, we would need to effectively allow anonymous users to add their username and password to the users table. This, in turn, may lead to the need for other enhancements, such as an email validation process to mitigate spam.
Top