Skip to content

A repository template used for Gold tier projects categorized under the PRG framework.

License

Notifications You must be signed in to change notification settings

scottgriv/PRG-Gold-Tier-Template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Markdown Badge
GitHub Badge Email Badge BuyMeACoffee Badge
PRG Version Badge PRG Website Gold


PRG Gold Tier Template

What is this Template for?


This Template is part of the
Personal Repository Guidelines (PRG)
repository categorization and guideline framework.

Visit the PRG Repository
to get started with PRG today.

Visit The Official PRG Website
for more information.

Submit a pull request to add your
PRG Portfolio to the PRG Showcase.

Note

I will be using examples from my project River Charts throughout this README template.

  • The description should be a short paragraph describing what your project is and what it does.
  • This should be the first section after the badges.
    • e.g. "A Python, Django, Plotly, and Pandas web application that visualizes river data pulled using an API from the United States Geological Survey (USGS)."
  • Add screenshots of your project below the description and throughout the rest of the README as needed.
    • This is optional, but highly recommended especially for Gold projects.
    • Animations in the form of GIFs are also a great way to showcase your project.

Warning

Be sure to change the PRG Connection File Repository Tier parameter from Optimized to Bronze in order to correctly categorize this repository. All templates are currently set to the uncategorized "Optimized" option, so be sure to change this.

Warning

Be sure to change or remove the .gitattributes file from this repository. It's used to classify this template repository as a Markdown file on GitHub only, and is not needed.


Table of Contents

Features

This section should contain a list of features that your project has.

Background Story

The background story should be a short paragraph describing why you created the project and what inspired you to create it.

Definitions

This section should contain a list of definitions for any terms that you use throughout your README.

  • This is especially useful for technical terms that the reader may not be familiar with.
  • e.g. Here are some definitions to help you understand the terminology used in this document:
    • USGS: The United States Geological Survey. The USGS is a science organization that provides impartial information on the health of our ecosystems and environment, the natural hazards that threaten us, the natural resources we rely on, the impacts of climate and land-use change, and the core science systems that help us provide timely, relevant, and useable information.
    • Gage Height: The height of the water surface above the gage datum (zero point). Gage height is often used interchangeably with the more general term, stage, although gage height is more appropriate when used with a gage reading. Stage is more appropriate when used with a recorded or calculated gage height.

Getting Started

This section should contain a list of steps to get your project up and running.

  • You can break this section down into further subsections if you want (such as below: Dependencies, Configuration, Running Locally, Deployment, etc.).
  • Otherwise, you can just include a list of steps to get your project up and running under Getting Started.

Dependencies

  • This section should contain a list of dependencies for your project.

Configuration

  • This section should contain a list of steps to configure your project.

Installation

  • This section should contain a list of steps to install your project.
  • Utilize code blocks to show the commands needed to run your project.
  • e.g.
    1. Clone this repository.
    2. Create a virtual environment: python -m venv venv.
    3. Install the dependencies.
    4. Run the application:
      python manage.py runserver

Deployment

  • This section should contain a list of steps to deploy your project.

What's Inside?

This section should contain a list of files and folders in your project and what each one does.

  • Generally, you should only list the main files and folders in your project, not every single file.
  • Use a tree diagram to show the relationship between files and folders:
  • e.g.
    ├── README.md # This file.
    ├── config.py # A file that contains sensitive information (excluded from this repository).
    ├── manage.py # A command-line utility that lets you interact with this Django project in various ways.
    ├── requirements.txt # A list of Python packages required to run this project.
    ├── static # A directory for static files that are used in this Django project.
    │   ├── css # A directory for CSS files.
    │   │   └── styles.css # A CSS file that contains the styles for the application.
    │   ├── data # A directory for data files.
    │   │   └── river_charts.csv # A CSV file that contains the float dates for the application.
    │   └── images # A directory for image files.
    ├── templates # A directory for HTML templates.
    │   └── river_charts # A directory for HTML templates specific to the river_charts app.
    │       ├── error.html # An HTML template that displays an error message.
    │       └── index.html # An HTML template that displays the application.
    ├── views.py # A file that contains the application logic.
    ├── VERSION # A file that contains the current version of the application.
    ├── LICENSE # A file that contains the license for this project.
    └── CREDITS # A file that contains the credits for this project.

Specific Project Sections

There should be a number of sections here that correspond to important aspects of your project.

  • Do not name this section "Specific Project Sections".
  • e.g. "API", "Database", "Deployment", "Testing", etc.

Closing

This section should contain a short paragraph thanking the reader for taking the time to read your README.

What's Next?

This section should contain a list of features you plan to add to your project in the future.

e.g.

  • Release v1.0.0 of River Charts.
  • Enhance API call performance.

Project

This section should contain a link to the project's website or a link to the project's repository.

Contributing

This section should contain a list of steps for contributing to your project.

  • You can also include a link to a separate CONTRIBUTING.md file.

Resources

This section should contain a list of resources that you used to create your project.

Below are some external resources I found helpful when creating My Project:

  • Python - An interpreted, high-level and general-purpose programming language.
  • Plotly - A Python graphing library that makes interactive, publication-quality graphs online.
  • Django - A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  • Pandas - A fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.

License

This section should contain the license for your project. It should include a link to your actual license file inside your repository, and a link to Choose an open source license for reference.

Important

Use the docs/LICENSE/ directory to pick amongst a few popular license files for your project. You can also visit Choose an open source license to pick your own that's not included with this template. If you don't include a LICENSE file, see what happens here. For a zero restriction license, choose The Unlicense.

Warning

Be sure to remove the docs/LICENSE/ directory from this repository when you're done picking your license. Be sure to include your LICENSE file in the root of your repository and change the link below to point towards it.

Examples:

MIT

This project is released under the terms of the MIT License, which permits use, modification, and distribution of the code, subject to the conditions outlined in the license.

  • The MIT License provides certain freedoms while preserving rights of attribution to the original creators.
  • For more details and to understand all requirements and conditions, see the LICENSE file in this repository.

GNU

This project is released under the terms of the GNU General Public License, version 3 (GNU GPLv3), which ensures that derivatives of the software remain open source.

  • The GNU GPLv3 is a "copyleft" license, ensuring that derivatives of the software remain open source and under the GPL.
  • For more details and to understand all requirements and conditions, see the LICENSE file in this repository.

The Unlicense

This project is released under the terms of The Unlicense, which allows you to use, modify, and distribute the code as you see fit.

  • The Unlicense removes traditional copyright restrictions, giving you the freedom to use the code in any way you choose.
  • For more details and to understand all requirements and conditions, see the LICENSE file in this repository.

Credits

Author: Scott Grivner
Email: [email protected]
Website: scottgrivner.dev
Reference: Main Branch