Git Product home page Git Product logo

wilayah-nusantara's Introduction

Wilayah Nusantara API

Wilayah Nusantara is an open source API that provides access to Indonesian province, regencies, districts, and villages data. This API allows developers to fetch specific location information for their applications or projects. The current data is accurate up to 2022.

For full documentation visit https://docs.wilayah-nusantara.id

API Installation

To run the API in your local machine, follow these steps: Clone the repository to your machine and install the needed dependencies. We use pnpm to manage our packages, so please make sure it is installed in your local machine.

git clone https://github.com/theodevoid/wilayah-nusantara.git

cd wilayah-nusantara

pnpm install

Start up a docker container running MySQL. A docker-compose file is provided to make this easier.

# inside apps/api

docker compose up

Run migrations Linux or Mac

pnpm mikro-orm migration:up

For windows, we need to use cross-env. The script has also been provided.

pnpm cross:mikro-orm migration:up

Import data from the /data folder to your database. We recommend using a GUI like MySQL Workbench, or DBeaver to make this easier. Run the API Linux or Mac

# for development
pnpm dev

# for production
pnpm build
pnpm start:prod

Windows

pnpm cross:dev

Contribution

We welcome contributions from the open source community. To contribute to the Wilayah Nusantara API, please follow these steps:

  1. Fork the repository and clone it to your local machine.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure that the codebase remains clean and follows best practices.
  4. Don't forget to create migrations if there are any database changes.
  5. Don't forget to build the dto package if you made any DTO changes
  6. Submit a pull request describing your changes and explaining the rationale behind them.

Roadmap

  • Update to latest data
  • Include postal code
  • Include latitude and longitude

wilayah-nusantara's People

Contributors

theodevoid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.