Skip to content

Consider splitting this project into three parts. The app, full stack dart starter kit and the devcontainer #27

@mark-dropbear

Description

@mark-dropbear

Right now Cloud Code isn't super well set up for things like Dart out of the box. However, it seems like it does have good support for easily extending it to meet your own development patterns and app templates for example as outlined here https://cloud.google.com/code/docs/intellij/create-app-from-custom-sample

Logically, this repository actually has 3 parts that are currently all bundled together but in reality probably shouldn't be. Instead consider splitting things out as follows:

1. A fully containerised development environment
The goals of this are that so long as I can run a container on my host machine or I have access to Github's Codespaces I have zero other requirements and can have a fully consistent development environment on any machine with all of the tools that I need. This for example would include tools like Cloud Code VSCode extension which in turn contained things like kubectl, skaffold etc.. It would also have it's own docker-in-docker / minikube support so I actually end up with a fully containerised k8's local development environment which seems pretty powerful and allows me to do that without a lot of sharp edges since everything would be standardised.

2. A application template for Fullstack Dart applications
Right now I have a very specific vision of what that means and looks like but it wouldn't be some huge challenge to fork it and say swap out gRPC for Cloud Functions if you wanted a different flavour of "Fullstack Dart".

3. The todart application itself
This is a specific instance of a "Fullstack Dart" application that happens to use the application template from Step 2 and is run inside of a standardised development environment from Step 1.

That already allows for a much nicer separation of concerns and helps lower the chances of creating a Frankenstein project. Additionally, it really opens up the ability for others in the community to start playing around with and experimenting with "Fullstack Dart" on top of what I hope is a really solid set of foundations.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions