econ-project-templates icon indicating copy to clipboard operation
econ-project-templates copied to clipboard

Remove cookiecutter, change to minimal spec

Open timmens opened this issue 4 months ago • 3 comments

Janos and I thought about the future of the econ-project-templates given the experience of the 2023 EPP iteration:

Problems

  • Students do not understand cookiecutter dialogue
  • Students do not understand the "concept cookiecutter" (e.g., students don't grasp the difference between project and cookiecutter)
  • Connecting the downloaded project to GitHub often fails (especially if the remote is not empty) and is perceived as very complicated even if it works (e.g., clone link vs URL)
  • Example project is out of date, especially data management (should be done by Hans-Martin and Tim)
  • When cookiecutter fails, or you want to edit previous input, it is very annoying to start over (fails, for example when the folder already exists, the environment already exists)
    • There is the replay option, but it is unknown, and does not seem to work perfectly

Observations

  • Cookiecutter replaces something students like to do: copying files and adjusting names with something they do not understand and do not like to do
  • Students are usually not informed enough to make decisions about e.g. licenses, make initial commit, which types of pre-commits, creating the environment or not. It seems like fewer choices would make students feel better while doing the setup.
  • The Julia, Stata and R examples are not used and they are another part of the code base that needs to be kept up-to-date (we could just reference the pytask documentation)

Solution Ideas

  • Replace cookiecutter dialogue by minimal form:
    • project slug (-> rename to project name)
    • author name
    • author email
  • Form checks inputs in real-time, after filling it out, there appears a download button
  • Reference to videos like "how to create environment" appears
  • Workflow:
    • Students create repo on github
    • Students clone empty repo
    • Students download files from example project into empty repo
    • Students push added project to remote

Additional (Potential) Developer Benefits

  • Removing the example projects for other programming languages makes it easier to maintain
  • Removing cookiecutter complexity makes it easier to test and maintain the example project

timmens avatar Feb 14 '24 09:02 timmens