Project Boilerplate
This project contains a template to use when creating a new project. It comes with all the standard files which there is expected to be in an open source project on Github.
How to use
- Clone this project and copy the files into your own project
- Go through this checklist
- Start developing!
- Ensure you are in compliance with Zalando rules of play
- If in doubt, get in touch with opensource@zalando
Readme template
Below you can find a complete readme template for a project (based on work by @PurpleBooth), this will help you communicate the vision and goals of the project as well as answering common questions from future contributors.
The readme file is the single most important documentation of your project, so make sure you spend time on giving a great first impression to new users and provide the needed information to interested contributors.
Readme.md template below, when setup is complete, delete all content above this.
projectname
description
Describe what this project does. Keep this language human and friendly, so avoid internal references, acronyms and if you have dependencies, provide a direct link to these.
When describing features of your project, remember to explain why these are a benefit and advantage to the user:
This project allows you to scale X (feature) in a fast and predictable way (benefit) - meaning you will use fewer resources and can be confident in your X environment (Advantage).
Think about your project as a product, consider who your audience is, and how your decisions affect the number of potential users, below is a handy checklist of things to consider before open sourcing any code.
- Avoid internal dependencies Obviously projects that require Zalando specific infrastructure, configuration or process have very limited use to anyone outside Zalando.
- Avoid narrow usecases Does this solve a Zalando-only problem or does it have broarder application - is there things you could change to make it a more general product
- Have a Product vision Do you know where you want to take this product? - then be open about it so future contributors are aware. Being opinionated is great and it helps set expectations and the direction for the project
- Take ownership Are you are benevolent dictator or open to anything? - consider how you will interact with future contrbutors who expect you to be an active maintainer
- Safe defaults How do people get up and running - are there alot of ceremony involved or can you provide a simple out of the box experience so it is easy for users to evaluate your project
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
If possible, provide a quick exemple of how to get this running with minimal effort, so anyone curious can get up and running as fast as possible
Prerequisites
What things you need to install the software and how to install them
Give examples
Installing
A step by step series of examples that tell you have to get a development env running
Say what the step will be
Give the example
And repeat
until finished
End with an example of getting some data out of the system or using it for a little demo
Running the tests
Explain how to run the automated tests for this system
Break down into end to end tests
Explain what these tests test and why
Give an example
And coding style tests
Explain what these tests test and why
Give an example
Deployment
Add additional notes about how to deploy this on a live system
Built With
- Dropwizard - The web framework used
- Maven - Dependency Management
- ROME - Used to generate RSS Feeds
Contributing
Please read CONTRIBUTING.md for details on our process for submitting pull requests to us, and please ensure you follow the CODE_OF_CONDUCT.md.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Per Ploug - Adding files to reflect Zalando rules of play - @perploug
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Thanks to @PurpleBooth for the original readme
- Thanks to the @zalando/Nakadi project for Contribution file
- Thanks to @SteveMao for Issue templates