swiss-address-js
Allows to query for 🇨🇭 addresses with ease.
⚠️ This project is still in development and not ready for production use. ⚠️
Can't wait to use it? Feel free to
contribute.
📝 Table of Contents
🧐 About
swiss-address-js is a JavaScript library that allows you to query for swiss addresses with ease. It uses the API of Swiss Post fetch latest building addresses. It is written in TypeScript and can be used in any JavaScript environment.
⚠️ Disclaimer
This project is not affiliated with Swiss Post. It is an unofficial API wrapper for the Address Webservices API. Use at your own risk. We are not responsible for any damage caused by the use of this library.
🏁 Features
- Search
- Fetch
- Download
- Create
🏁 Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Please make sure you have installed the following tools:
And a package manager of your choice:
- npm - Node.js package manager
- yarn - Node.js package manager
Next, you need to create a new account at Swiss Post and request an API key for a technical user. You will need the username and password to use this library.
Installing
Install the package via npm:
npm install swiss-address-js --save
or via yarn:
yarn add swiss-address-js
🎈 Usage
Basic usage
import AddressService from 'swiss-address-js';
const {swissPostOpenData, addresses} = new AddressService('your-username', 'your-password');
swissPostOpenData.getStreetNamesByPostalCode('9436');
swissPostOpenData.getStreetByPostalCodeAndStreetName('9436','Kapfstrasse');
swissPostOpenData.getBuildingsByPostalCodeAndStreet('9435','Gutenbergstrasse');
const zipCodes = await addresses.findTownNameByZipCode('8000')
const streetNames = await addresses.findStreetsByTown('A', '8000', 'Zürich')
const buildingNumbers = await addresses.findBuildingNumbersByStreet('1', '80', 'Zürich', 'Alte Landstrasse')
📜 License
In the vast realm of code, where ideas intertwine and innovation knows no bounds, I find myself continually amazed by the unwavering spirit of collaboration that defines the open source community. It's a world where developers, like you and me, share their creations, their insights, and their expertise with an unparalleled generosity. Countless times, whether through serendipitous discovery or through meticulous research, I've stumbled upon remarkable projects that have enriched my own journey as a developer.
Recognizing the profound impact that the open source community has had on my own growth, I've made a personal commitment to give back to this tapestry of ingenuity. The code is licensed under the APGL license, which means that you're free to use, remix, and build upon it for non-commercial purposes. It's my way of extending the thread of collaboration that binds us as developers.
However, I also understand the diverse needs that drive us in this community. If you're considering utilizing this project for commercial purposes, I invite you to reach out. While there isn't a fixed license model in place, I believe in the power of optimism and negotiation. Let's work together to find a solution that aligns with your goals while respecting the effort and intent behind this work.
🔧 Running the tests
Tests are written with jest. You can run them with the following command:
npm run test
⛏️ Built Using
✍️ Authors