About the Software Engineering Course

The DevOps toolchain

A website for the NYU Software Engineering course, built by Dr. Eugene Callahan, Vivek Bharti, Akshay Tambe, and the Fall 2018 and Spring 2019 DevOps students. The spring team is:

  • Gaurav Wadhawan
  • Shrey Gupta
  • Pulkit Aneja
  • Faiyaz Sundrani

The course is built using Django and other open source tools, and is itself an open source project.

The requirements for a A-quality course project are:

  1. The project strictly follows the DRY principle: everything that must appear in multiple places in the project has a single source.
  2. All aspects of the project are under version control, including source, build scripts, graphics, documentation, and anything else related to the project.
  3. Make sure to test changes locally before committing.
  4. The project has automated testing with over 50% test coverage, and, if web-based, has Selenium tests.
  5. All of your code should pass a lint tool for the language you are using.
  6. For any aspects of the project that are built, there is an automated build process.
  7. Developers can work in a Docker container for development, and deploys can be done via a container. Furthermore, the containers themselves are built by scripts, not by hand.
  8. The project can successfully be deployed to the cloud.
  9. There is monitoring in place for the project.