This repo serves as some helpful advice for our teams offering sample source code to our public-facing GitHub account.
Because you have a source code repo that is a sample, example, or other teaching artifact enabling a customer to learn how to use one of our APIs, SDKs, or developer-oriented product offerings.
Naming a repo helps a viewer understand two things: what Sabre product it uses, and what programming language it is written in. Pick any name that helps convey meaning at first glance.
Use these two conventions to help make our project repos look like they all belong together:
shish-kabob-case
product-repotype-language
orapi-name-sample-language
For example this repo name: get-hotel-details-sample-nodejs
One of the most important files in your source code repo is the README.md file. It introduces your project by telling people answers for questions they might have such as:
- Why does this source code repo exist?
- How does it add value to a person, team, or company?
- What does it look like when it's running?
- What are the steps for installing, configuring, and using it?
- Where is the Sabre-technology in this?
- Approach with a beginner's mind
- Get a programmer up-and-running quickly
- Consider an audience of:
- Architect
- Development Manager
- Product Manager
- Software Developer
- Provide pictures showing:
- How it looks running
- What the architecture overview is
- Leverage HTML: links to reference pages, rich text formatting, images
- https://github.com/SabreDevStudio/get-hotel-avail-v2-sample-nodejs
- https://github.com/vhesener/Closures
- https://github.com/18F/analytics-reporter
- https://gist.github.com/PurpleBooth/109311bb0361f32d87a2
- https://help.github.com/en/articles/about-readmes
Look to the template README.md for an example outline. Use it to help you get started writing your own README. You will see a basic structure that you can adapt for your source code's needs.
Consider adding a companion blog article to a source code repo. If you have a sample app the article can take a deeper dive into the technical inner workings. Use it to introduce the source code, offer additional context for why choices were made, and point to extended learning resources.
Here are some popular examples based around Sabre APIs:
- Get Hotel Availability V2: article, source code
- Create Passenger Name Record: article, source code