Skip to content

Commit 447917c

Browse files
committed
Updating template with CfA standard text
1 parent c7f12a6 commit 447917c

File tree

7 files changed

+188
-24
lines changed

7 files changed

+188
-24
lines changed

CONTRIBUTING.md

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Contributing
2+
3+
When contributing to this repository, please first discuss the change you wish to make via issue,
4+
email, slack, or any other method with the contributes of this repository, or Code for Baltimore, before making a change.
5+
6+
Please note we have a [CODE OF CONDUCT](/docs/Code_of_Conduct.md), please follow it in all your interactions with the project.
7+
8+
## Overview
9+
10+
In this section you should provide a semi-detailed overview of your project. This overview should include a statement of the
11+
problem you're looking to solve, maybe some bullet points, and a statement defining the solution.
12+
13+
### Non Goals
14+
15+
This should be a list of bullets of related features you are not planning to add to the project. This should be adjusted based
16+
on the maturity of the product.
17+
18+
### Minimum Viable Product
19+
20+
As with the _Non Goals_ this should be a bulleted list of features you will include in your product. This list can be adjusted
21+
based on the maturity of the product.
22+
23+
### Roadmap
24+
25+
Provide an esitmate of when work will be completed, or a link to any kanban boards you may have.
26+
27+
## Technology and Code
28+
29+
Provide a bulleted list of your applicable tech stack. Below is the standard sentence to link to the Best_Practices doc. You can also link
30+
to the Tech_Spec.
31+
32+
Please update the [Tech Spec](/docs/Tech_Spec.md) with a full breakdown of the project and workflows then link it here.
33+
34+
Please update the [Best Practices](/docs/Best_Practices.md) with code standards, git standards, and other guidance for writing clean and well
35+
documented code then link it here.
36+
37+
### Pull Request Process
38+
39+
1. Ensure you thoroughly fill out the pull request form presented when submitting the request.
40+
This includes listing what work was done, what issues are resolved by that work, what tests
41+
have been added, how to perform other tests or run the code, and other potentially relevant
42+
notes.
43+
2. Update the README.md with details of changes to the application, this includes new environment
44+
variables, exposed ports, useful file locations and/or container parameters.
45+
3. If you are on the project team you may merge the Pull Request in once you have the sign-off of one other developer, or if you
46+
do not have permission to do that, you may request the second reviewer to merge it for you.
47+
48+
## Contact
49+
50+
The best ways to get in touch with us is via Slack. An active Slack link can be found on our website:
51+
52+
***[codeforbaltimore.org](https://codeforbaltimore.org/)***
53+
54+
You can also reach out to the tech lead [Jason Anton](https://github.com/revjtanton) via email at [[email protected]](mailto:[email protected]).
55+
56+
## Sources and Links
57+
Provide any relevant links here.

README.md

+25-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
<!-- TOC -->
2+
3+
- [ProjectTemplate](#projecttemplate)
4+
- [Documentation](#documentation)
5+
- [Setup](#setup)
6+
- [Using this product](#using-this-product)
7+
- [Testing](#testing)
8+
- [Sources and Links](#sources-and-links)
9+
- [Contributors ✨](#contributors-)
10+
11+
<!-- /TOC -->
12+
113
# ProjectTemplate
214
The project template for Code for Baltimore github projects. This project will help your project get started by giving you:
315
* A standard issues template
@@ -8,7 +20,7 @@ The project template for Code for Baltimore github projects. This project will
820
## Documentation
921
We've included a `docs` folder with a template [Tech Spec](/docs/Tech_Spec.md) and [Best Practices](/docs/Best_Practices.md) document, though using Github's Wiki capabilities is also a good idea. This will get you started with documenting your project. Other documents and relevant information that has no other place can live in the `docs` folder. Replace this paragraph with a brief breakdown of what you've included in your `docs` folder.
1022

11-
## Setup
23+
# Setup
1224
What does someone need to do to get started with your project? Do they need to:
1325
* install software?
1426
* run some commands?
@@ -22,13 +34,21 @@ How would someone use this product? Give a few examples here.
2234
## Testing
2335
What does someone need to do to test their work? Have you included a specific testing framework or guideline (hint: you should)? Any information about testing should be added here.
2436

25-
## Sources and Links
37+
# Sources and Links
2638
If referencing any third party service, code, etc, cite it here.
2739

28-
This template is in use on a number of other Code for Baltimore projects. For examples of use in various ways, please see the followings examples:
40+
## Contributors ✨
41+
42+
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
43+
44+
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
45+
<!-- prettier-ignore-start -->
46+
<!-- markdownlint-disable -->
47+
<!-- markdownlint-enable -->
48+
<!-- prettier-ignore-end -->
49+
<!-- ALL-CONTRIBUTORS-LIST:END -->
2950

30-
* *NodeJs* = [JuryInstructions](https://github.com/CodeForBaltimore/JuryInstructions)
31-
* *Python* = [ProjectTemplate-Python](https://github.com/CodeForBaltimore/ProjectTemplate-Python)
51+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
3252

3353
<p align="center">
3454
<img src="docs/img/CfB.png" width="400">

civic.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"status": "Development",
3+
"thumbnailUrl": "https://codeforbaltimore.org/icon.png",
4+
"geography": "Greater Baltimore, MD",
5+
"politicalEntity":"",
6+
"type": "API",
7+
"needs": [
8+
{"need": "Typescript Dev"}
9+
],
10+
"categories": [
11+
{"category": "Example"}
12+
]
13+
}

docs/Best_Practices.md

+23-19
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
1+
<!-- TOC -->
2+
3+
- [Best Practices](#best-practices)
4+
- [Project Management](#project-management)
5+
- [Projects](#projects)
6+
- [Issues and Milestones](#issues-and-milestones)
7+
- [Tagging Issues](#tagging-issues)
8+
- [Code Quality Standards](#code-quality-standards)
9+
- [Style Guides](#style-guides)
10+
- [Static Code Analysis](#static-code-analysis)
11+
- [Git and Branching](#git-and-branching)
12+
- [Branch Names](#branch-names)
13+
- [Merging and Pull Requests](#merging-and-pull-requests)
14+
15+
<!-- /TOC -->
16+
117
# Best Practices
2-
Code for Baltimore projects should be built with the intention of deploying on [Heroku](https://heroku.com). For details on Heroku Best Practices see their [developer documentation](https://devcenter.heroku.com/articles/node-best-practices).
18+
Code for Baltimore projects should be built with the intention of deploying on [Heroku](https://heroku.com) or [Netlify](https://netlify.com). For details on Heroku Best Practices see their [developer documentation](https://devcenter.heroku.com/articles/node-best-practices).
319

420
## Project Management
5-
621
We are using Github Issues to track outstanding issues and work for projects.
722

823
### Projects
9-
1024
Github Projects help organize our repositories by creating a Kanban board to track issues. These boards can be automatically generated by Github when creating the Project and should include a Todo, In Progress, Under Review, Reviewer Approved, and Done column. As issues are added to a Project they should be added to the board. A repo can have one or many Projects or boards at any given time.
1125

1226
### Issues and Milestones
13-
1427
When breaking down work it is important to add tasks to the Github project. For convenience various types of issues have templates built into this repo for easy issue entry. Before tasks are entered the project managers should agree on milestones based on the Project objectives. Issues should be tracked against Milestones so progress can be measured and planned for.
1528

1629
### Tagging Issues
17-
1830
When entering issues tagging can be used to further organize work or make work more visible to team members.
1931

20-
## Code Quality Standards
21-
32+
# Code Quality Standards
2233
Regardless of Language:
2334

2435
- Default to `lowerCamelCase` naming convention
@@ -27,29 +38,22 @@ Regardless of Language:
2738
- Provide meaningful code comments
2839
- All commits must include a useful commit message
2940

30-
### Style Guides
31-
41+
## Style Guides
3242
Consistent style guidelines for each language should be used. Where possible, openly published standards by authorities providing or using the language will be used.
3343

3444
Example: Google has openly published style guides for many languages in wide use on their open source projects, and these can be adopted for use in this project: [Google Language Specific Styleguides](https://google.github.io/styleguide/)
3545

3646

37-
## Static Code Analysis
38-
47+
# Static Code Analysis
3948
Static code analysis tools should be used when possible, to monitor and improve code quality. This may be integrated in the local development environment, automated repository commit checks, automated CI/CD pipelines, or other steps in the code development process.
4049

41-
### SonarQube scanning
42-
Before committing or pushing any code changes those changes should be scanned with SonarQube. For convenience a `docker-compose` file has been included with this repository to facilitate local scans so that clean code can be checked and pushed before the deployment scans. See the [README](/sonarqube/README.md) in the sonarqube folder for more information.
43-
44-
## Git and Branching
45-
50+
# Git and Branching
4651
All code work should be done in an isolated or feature branch off of the `master` branch. Before starting work on new code, developers should create their feature branch using a standard naming convention determined by the project.
4752

48-
### Branch Names
53+
## Branch Names
4954
Branch names should follow this patter: `<your github username>/issue-<github issue number>`. This will ensure there are no branch name conflicts, and anyone looking for your branch will know what it is called based on the issue addressed. For example if your username was letsGoOs, and you were working on issue 8, then your branch name would be `letsGoOs/issue-8`. If you wanted to make a new branch to continue your work on your issue then add a suffix with an incremented number. To continue the previous example if you wanted to make a second branch for your issue 8 work your second branch would be called `letsGoOs/issue-8-2`.
5055

51-
### Merging and Pull Requests
52-
56+
## Merging and Pull Requests
5357
When work is complete, and after static code analysis has been performed, the developer should submit a pull request in Github. A pull request template has been provided, and developers should take care to fill out the form as completely as possible when submitting new pull requests omitting any sections that are deemed unnecessary for that particular submission. Pull requests should require at least 1 review from another verified team member before they are approved and merged into the `master` branch.
5458

5559
While not strictly required, it is recommended that pull requests are submitted early on in the development process with the intention of maintaining high visibility over the work while it is in progress.

docs/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Project Documentation
2+
This is the project documentation. It has been broken up into sections for ease of use.
3+
4+
- [Best Practices](./Best_Practices.md)
5+
- [Code of Conduct](./Code_of_Conduct.md)
6+
- [Tech Spec](./Tech_Spec.md)

docs/Tech_Spec.md

+14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
<!-- TOC -->
2+
3+
- [Tech Spec](#tech-spec)
4+
- [Overview](#overview)
5+
- [Scenarios](#scenarios)
6+
- [Non Goals](#non-goals)
7+
- [Minimum Viable Product](#minimum-viable-product)
8+
- [Diorama-rama](#diorama-rama)
9+
- [Components](#components)
10+
- [Roadmap](#roadmap)
11+
- [Contact Info](#contact-info)
12+
13+
<!-- /TOC -->
14+
115
# Tech Spec
216
The _Tech Spec_ is an important part of a project, but it's a part that's often overlooked or skipped. The intention of this document is to organize everyone's thoughts on the project into one simple, succinct document. It doesn't have to be super detailed but filling out this document will help keep everyone focused on the project goal.
317

publiccode.yml

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
publiccodeYmlVersion: "0.2"
2+
3+
# For information on how to fill out this example, please visit
4+
# https://docs.italia.it/italia/developers-italia/publiccodeyml-en/en/master/index.html
5+
6+
name: ProjectTemplate
7+
url: "https://github.com/CodeForBaltimore/ProjectTemplate.git"
8+
landingUrl: "https://github.com/CodeForBaltimore/ProjectTemplate"
9+
softwareVersion: "1.0.0" # Optional
10+
releaseDate: "2017-04-15"
11+
platforms:
12+
- web
13+
14+
categories:
15+
- example
16+
17+
developmentStatus: development
18+
19+
softwareType: "standalone/web"
20+
21+
description:
22+
en:
23+
localisedName: projecttemplate # Optional
24+
genericName: A Project Template
25+
shortDescription: >
26+
A rather short description which
27+
is probably useless
28+
29+
longDescription: >
30+
Very long description of this software, also split
31+
on multiple rows. You should note what the software
32+
is and why one should need it. We can potentially
33+
have many pages of text here.
34+
35+
features:
36+
- Just one feature
37+
38+
legal:
39+
license: Apache-2.0
40+
41+
maintenance:
42+
type: "community"
43+
44+
contacts:
45+
- name: Your Name
46+
47+
localisation:
48+
localisationReady: yes
49+
availableLanguages:
50+
- en

0 commit comments

Comments
 (0)