Showing posts from October, 2023

Streamlining Grading with Automation: A Cypress-Powered Solution

 I have emphasized the importance of automation in my previous articles, and now, the automated grading system has finally arrived! It has been developed using the Cypress testing framework. As I have mentioned previously, the original idea was not mine. My role was to refine the product to create a more standardized project that is easy to comprehend and to implement multiple testing methods at once, instead of just one. This way, other teachers or testers can also use it. Ultimately, it's all about having fun and making the project accessible to as many people as possible. A teacher who streamlines their workflow is worth two. The Framework is an open-source end-to-end testing framework for web applications. Cypress is not part of Node.js itself, but it is a tool that developers can use alongside Node.js to perform automated testing of web applications. Cypress allows you to write and run tests that simulate user interactions with a web application in a real browser. I

Automation in the classroom! PART II - Marking assignments with the help of Docker containers

  In part one, we explained the basic concepts and technologies used for the initial setup. This part of the article will take on the second half missing: Docker containers! Specifically, Nginx image for hosting single repos within a "Docker service." I think it is super cool, and I wonder if there is a better way. If you stumble upon this article and want to fork my repo, please do so.  I would love to see suggestions and Pull Requests for improvements. Ultimately, we would want this to ease other people's lives. Enter the friendly blue whale containers Docker containers are a lightweight and portable way to package and run applications, along with all their dependencies, in isolated environments.  Isolation:  Containers provide process and file system isolation. Each container runs as an isolated process on the host operating system, with its own file system, network stack, and resources. This isolation ensures that applications in one containe