Use ChatGPT to automatically create a docker-compose or Dockerfile file based on a few prompts

Closed
Squash Labs Inc.
Vancouver, British Columbia, Canada
EM
CEO
(19)
4
Preferred learners
  • Anywhere
  • Academic experience
Categories
Computer science & IT Website development Software development Machine learning Artificial intelligence
Skills
docker compose github docker (software) linux python (programming language) application programming interface (api) react.js (javascript library) dockerfile linux servers chatgpt
Project scope
What is the main goal for this project?

Squash.io is a DevOps platform that allows software developers to quickly deploy their web apps for testing purposes. We currently have many companies in our platform, including names like NASA, Wagtail and New York Public Radio.


We are looking to build a 100% free and standalone service to help software developers to quickly convert their applications to a docker-compose or Dockerfile setup, so they can run their app in any computer or server. Behind the scenes this service will use ChatGPT to build the actual docker-compose file. Our goal is to share this tool heavily in social media and multiple channels to drive awareness to our platform.


We are looking for a group of students to build this free service. From a very high-level overview, this service will have two main components:


  • A simple front-end where users will define the details of their application (see initial mockups attached). We are flexible on what technologies to use here. Our preference is ReactJs, since we already use it in our platform.
  • A backend/API that will receive the requests from the front-end and process them. This backend will mainly: 1) convert the data from the front-end into a ChatGPT prompt; 2) send the prompt to ChatGPT's API; 3) receive a response from ChatGPT, run some sanity checks and send the response back to the front-end; Ideally this backend should be implemented in Python (but we are also flexible, it must run on Linux with Docker) and it should be delivered with a docker-compose file so we can easily integrate it in our platform.


This will involve several different steps for the students, including:

  • Zoom calls with one of our team members to go over the project specs so we can assist with any questions.
  • Becoming familiar with ChatGPT's API: https://platform.openai.com/docs/quickstart
  • Developing both the front-end and backend service. We will provide extensive guidance and additional resources as needed.
  • Some familiarity with Docker is helpful, but not mandatory since the logic for creating a docker-compose file is going to be provided by ChatGPT itself.
  • Testing the service with users.
What tasks will learners need to complete to achieve the project goal?

By the end of the project, students should demonstrate:

  • A prototype with a simple UI where software developers can define the specs of they app and in exchange receive a working docker-compose file.
  • We will provide access to a Linux server in the cloud so students can deploy the final prototype for testing.

Final deliverables should include

  • A private code repository in GitHub containing the source code for the front-end and backend.
  • A working prototype deployed in the cloud server as mentioned above.
How will you support learners in completing the project?

Students will connect directly with us for mentorship throughout the project. We will be able to provide answers to questions such as:

  • Understanding the mockups and specs for this project.
  • Any questions related to ChatGPT's API.
  • Prototyping and its role in our design process
  • Input on choices, problems or anything else the students might encounter.
About the company

Squash is a DevOps platform that allows software developers to quickly deploy their apps for testing purposes. We provide on-demand preview environments for web apps and microservices. Through our native integration with GitHub, Bitbucket and GitLab developers can spin up separate test environments for each tasks or branch of code.