I'm currently in college and working on building a web app with a small group of two other people. We're using React, FastAPI, and Supabase as our main technologies, and we don't have a lot of experience with web development or Docker—apart from some container usage in class. This project is expected to last about two months. Since we are collaborating on different computers, I'm wondering if I should be using containerization in our development process. Would it be beneficial to create a Docker container with all the necessary dependencies, or could that just complicate things? What do you think?
4 Answers
I actually think you should consider using Docker early on if you're all on different machines. A simple setup can really help avoid those 'it works on my laptop' problems later. You don't need to overengineer it—just a straightforward development container with Docker Compose should do the trick.
Honestly, for a three-person team working on a project like this, Docker might be more trouble than it's worth. If someone can clone the repo and run `npm install` followed by `pip install -r requirements.txt` without issues, you're probably fine. Docker does add complexity and a learning curve that might slow your team down. That said, if you find unexpected environment issues down the line, Docker could be a lifesaver, but I'd hold off on it for now.
For a short, two-month project, I'd recommend not overdoing it with Docker. Just use Docker Compose for your database and any tricky services. Let React and FastAPI run natively—it'll save you a lot of hassle. Plus, a simple README that walks everyone through the setup with a `.env.example` file should keep things synced without needing to fully containerize everything.
Using Docker for your local development can really help standardize the environment across different machines. It should prevent any 'it works on my machine' headaches since everyone will be using the same setup. You might also want to containerize your database to keep everything consistent. Just make sure you also have a solid GitHub workflow with branches for each feature, merging into the main branch only when everything's tested and stable.

Related Questions
How to Build a Custom GPT Journalist That Posts Directly to WordPress
Cloudflare Origin SSL Certificate Setup Guide
How To Effectively Monetize A Site With Ads