Skip to content

A cookiecutter template to open issues for managing and tracking user demands and support requests

License

Notifications You must be signed in to change notification settings

charlstown/cookie-hub

Repository files navigation

Cookie Hub

mkdocs template license My Site

This is a πŸͺ cookiecutter multipurpose template for efficient management of user demands and support requests. Easily track bugs, requirements, support, resources needs, and more, all in one convenient location.

Features:

▢️ Issues templates:

  • Bug reports
  • Support requests
  • Requirement submissions
  • Onboarding new members
  • Resource requests

▢️ Workflows for labeling issues:

  • Automatic labeling based on comment parsing
  • Auto-labeling when an issue is assigned

Readme contents


1. What is Cookie Hub

This is a modern and user-friendly template for managing demand and support services within tech teams. Built with flexibility in mind, it offers customizable issue templates for bug reports, support requests, feature requirements, and more. With automated workflows for issue labeling and seamless integration with GitHub.

This template is perfect for various use cases, such as:

  • Managing customer feedback and feature requests for software development teams.
  • Coordinating service requests and incident reports for IT support teams.
  • Organizing project requirements and tracking progress for agile development teams.
  • Facilitating communication and collaboration among remote teams working on a shared project.
  • Streamlining the onboarding process for new team members by providing a centralized repository of resources and guidelines.

1.1 What is cookiecutter

A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.

Visit these links to learn more about cookiecutter. Documentation: https://cookiecutter.readthedocs.io/ GitHub: https://github.com/cookiecutter/cookiecutter

1.2 Repository contents

cookie-site                           -> Project directory.
β”œβ”€β”€ cookiecutter.json                   -> Cookiecutter values.
β”œβ”€β”€ {{cookiecutter.repository_name}}    -> Cookiecutter template.
β”‚   └── ...
β”œβ”€β”€ mkdocs.yml                          -> mkdocs configuration file.
β”œβ”€β”€ docs                                -> Project documentation.
β”‚   └── ...
β”œβ”€β”€ README.md                           -> README file.
β”œβ”€β”€ code_of_conduct.md                  -> Code of conduct file.
β”œβ”€β”€ contributing.md                     -> Contributing file.
β”œβ”€β”€ LICENSE                             -> LICENSE file.
└── requirements.txt                    -> Requirements to run the project.

2. Installation

To create the project from the template you need to install Python, pip and the cookiecutter python library and follow these instructions.

Note
It is recommended to create and activate a virtual environment to install the libraries

2.1 Install cookiecutter

To install cookicutter run the following command.

pip install cookiecutter

2.2 Build repository from template

To generate a custom project from the template, follow these steps:

  1. Navigate to the path where you desire to generate the project folder.
  2. Run the cookiecutter command followed by the repository URL.
python -m cookiecutter https://github.com/charlstown/cookie-hub.git
  1. Fill out the form in the console and the project will be generated at the end.

πŸŽ†πŸ™Œ Congrats!! you have your project set and ready to roll.

2.3 [Optional] Generate custom labels

We have two types of custom labels for this template, the type and the status of the issue. To create these labels yopu need to run the workflow named Create custom labels.

  • type: Contains the labels with the type of issue form selected, there is one per issue template.
  • status: Contains the labels with the different status of the issue.
Label name color Description
[type] bug #E99695 #E99695 The group of issues opened as a bug type.
[type] incident #0052CC #0052CC The group of issues opened as an incident type.
[type] requirement #0052CC #0052CC The group of issues opened as a requirement type.
[type] resource #0052CC #0052CC The group of issues opened as a resource type.
[type] onboarding #0052CC #0052CC The group of issues opened as an onboarding type.
[status] review #0E8A16 #0E8A16 The group of issues that are under review.
[status] awaiting #FBCA04 #FBCA04 The group of issues that are awaiting a response from the user.
[status] bloqued #B60205 #B60205 The group of issues that are bloqued.

Note
Feel free to add as many custom labels as you need for your project, and new group of labels like teams, organizations, etc.


3. Usage

3.1 Install the requirements

You can install the requirements for the project by running the command

pip install -r requirements.txt

Remember that if you didn't set the pypi as trusted host globally in the previous step, you can add the following flags to the command.

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org -r requirements.txt

3.2 Test run

After setting up the template, you can do a test run.

Serve the site locally running this command.

mkdocs serve -w overrides/

You may add the flag '-a localhost:8080' to select a custom local port.

3.3 Adding the project to a new Github repository

  • Step 1: Create a new repository in github:

    Create the new repository and make sure you give it the same name of the project folder, in our case my-cool-site.

    Warning Don't add any predefined file from github in the new repository, all the files are included in the local project folder.

  • step 2: Push the local repository:

    git remote add origin {{LINK TO YOUR EMPTY REPO}}
    git branch -M main
    git push -u origin main

3.3 Starting to code your project

To start coding your project we recommend to understand the project structure.

my-cool-site/                   -> Project directory
β”œβ”€β”€ mkdocs.yml                  -> MkDocs configuration file
β”œβ”€β”€ docs/                       -> Pages and site content
β”‚   β”œβ”€β”€ about/                  -> About section with pages
β”‚   β”œβ”€β”€ assets/                 -> Global assets for the site
β”‚   β”‚   β”œβ”€β”€ images              -> Global images for the site
β”‚   β”‚   β”œβ”€β”€ javascripts         -> Global javascripts for the site
β”‚   β”‚   └── stylesheets         -> Global CSS styles for the site
β”‚   β”œβ”€β”€ getting-started.md      -> Getting started page
β”‚   └── index.md                -> Home page
β”œβ”€β”€ overrides/                  -> HTML to override material theme
β”‚   β”œβ”€β”€ home.html               -> HTML for the home page
β”‚   └── main.html               -> HTML for all pages
β”œβ”€β”€ README.md                   -> README file.
β”œβ”€β”€ code_of_conduct.md          -> Code of conduct file
β”œβ”€β”€ contributing.md             -> Contributing file
β”œβ”€β”€ LICENSE                     -> LICENSE file
└── requirements.txt            -> Requirements to run the project

Understand the project structure


4. Troubleshooting

The main branch has been tested and before any push, we make sure everything is working fine. Feel free to open a new issue if you see the archetype is no working correctly or any additional requirement is needed.


5. Disclaimer

This is an archetype template done in MkDocs using the library cookiecutter. This template is intended to help creating a personal site, a blog, documentation, or a corporate site.

Do not use this template for any commercial nor redistribution purpose. Actually, the use of such tool might be allowed for open-source or private projects.


6. Help Wanted

This repository does provide the required installation instructions to install it by your own. Feel free to contact me on https://carlosgrande.me/contact-me-carlos-grande/


7. Other links

About

A cookiecutter template to open issues for managing and tracking user demands and support requests

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages