Lessons Learned Teaching Undergraduate Astronomy with a Video Game with Andrew Mshar - DCUS 2022

"Discover best practices for developing and deploying a video game-based astronomy educational platform, covering API development, testing, documentation, and infrastructure management."

Key takeaways
  • Use Django REST Framework to simplify API development and improve code reuse
  • Write unit tests to isolate individual components and ensure they function as expected
  • Use end-to-end tests for comprehensive testing, but be aware that they can be brittle and require maintenance
  • Develop a separate staging environment to test and refine code changes before deploying to production
  • Keep detailed documentation of the development process and test infrastructure
  • Use infrastructure-as-code tools like Terraform and Packer to manage and deploy server configuration
  • Consider using Docker for local development environments and deployment
  • Use sentry for error tracking and logging, to help identify and resolve issues
  • Log all errors and exceptions to a log file, to help in debugging
  • Write tests for integrations between different components, to catch issues early
  • Use a version control system like Git to track changes and roll back if needed
  • Consider moving infrastructure to a cloud provider like AWS Elastic Beanstalk for easier deployment and maintenance