This is as an example on how teams can structure their project repositories and format their project README.md file. Thanks to Lindsey Heagey and Joachim Meyer for the template!
.gitignore
Globally ignored files bygit
for the project.environment.yml
conda
environment description needed to run this project.README.md
Description of the project (see suggested headings below)
This template provides the following folders and suggested organizaiton structure for the project repository, but each project team is free to organize their repository as they see fit.
Each team member can create their own folder under contributors, within which they can work on their own scripts, notebooks, and other files. Having a dedicated folder for each person helps to prevent conflicts when merging with the main branch. This is a good place for team members to start off exploring data and methods for the project.
Notebooks that are considered delivered results for the project should go in here.
Helper utilities that are shared with the team should go in here.
Brief title describing the proposed work.
List all participants on the project.
- Project lead
- Team member
- Team member
- Team member
- ...
What problem are you going to explore? Provide a few sentences. If this is a technical exploration of software or data science methods, explain why this work is important in a broader context and specific applications of this work. To get some ideas, see example use cases on the GeoSMART website here.
List the specific tasks you want to accomplish, project goals, or research questions you want to answer. Think about what outcomes or deliverables you'd like to create (e.g. a series of tutorial notebooks demonstrating a use case, or a new python package).
Briefly describe the data that will be used here (size, format, how to access).
How would you or others traditionally try to address this problem?
What new approaches would you like to try to implement to address your specific question(s) or application(s)?
Optional: links to manuscripts or technical documents providing background information, context, or other relevant information.
What are the individual tasks or steps that need to be taken to achieve the project goals? Think about which tasks are dependent on prior tasks, or which tasks can be performed in parallel. This can help divide up project work among team members.
- Task 1 (all team members)
- Task 2
- Task 2a (assigned to team member A)
- Task 2b (assigned to team member B)
- Task 3
- ...