OpenDOSM, code-named (AKSARA), is a web platform that catalogs, visualises, and analyses Malaysia's wealth of data provided by Department of Statistics Malaysia. Everything on this site is open-sourced and made available for the nation's benefit. If data is the new oil, then, openness is the pipeline that maximises its value.
We recommend to use yarn
to manage the project's dependencies.
git clone git@github.com:dosm-malaysia/aksara-front.git
# Yarn
yarn install
yarn prepare
# NPM
npm install
npx prepare
cp .env.example .env
The following are the environment variables (.env) used for OpenDOSM. Please take note, there are only 2 variables required to get the app running, both of which are related to AKSARA BE.
Variables | Required | Default | Description |
---|---|---|---|
APP_URL | ⬜️ | http://localhost:3000 (development) | App domain. Optional |
NEXT_PUBLIC_APP_URL | ⬜️ | $APP_URL | App domain, made public. Optional |
NEXT_PUBLIC_AUTHORIZATION_TOKEN | ✅ | Create own | Authorization token for AKSARA BE communication |
NEXT_PUBLIC_API_URL | ✅ | http://localhost:8000 (development) | AKSARA BE base URL |
NEXT_PUBLIC_GMAP_API_KEY | ⬜️ | Create own | Google Maps API key. Optional |
NEXT_PUBLIC_GA_TAG | ⬜️ | Create own | Google Analytics Tag. Optional |
NEXT_PUBLIC_MAPTILER_API_KEY | ⬜️ | Create own | OpenStreetMap API key. Optional |
MIXPANEL_TOKEN | ⬜️ | Create own | Mixpanel token. Optional |
MIXPANEL_PROJECT_ID | ⬜️ | Create own | Mixpanel project ID. Optional |
MIXPANEL_SA_USER | ⬜️ | Create own | Mixpanel service account username. Optional |
MIXPANEL_SA_USER | ⬜️ | Create own | Mixpanel service account secret. Optional |
NEXT_PUBLIC_MIXPANEL_TOKEN | ⬜️ | $MIXPANEL_TOKEN | Mixpanel token, made public. Optional |
# Start development server
yarn dev
# Build production app
yarn build
# Start production server
yarn start
# Setup husky for githook
yarn prepare
- Branch out from
staging
& give the new branch a descriptive name eg:feat/covid
,fix/dropdown-bug
etc. - After you're done developing,
git fetch && git merge origin/staging
to synchronize any new changes & resolve conflicts, if there is any. - Push the branch to remote and create a PR to
staging
. Briefly describe the changes introduced in the PR. - Assign a core developer to review and wait for it to be approved.
- That's all. Happy developing!
Thank you for your willingness to contribute to this free and open source project! When contributing, consider first discussing your desired change with the core team via GitHub issues or discussions!
OpenDOSM is licensed under MIT
Copyright © 2023 Department of Statistics Malaysia