mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-28 18:38:17 +00:00
Update DataHub Web README
This commit is contained in:
parent
2cae6b36bd
commit
0d821a9e08
@ -10,18 +10,4 @@ All changes to the this project will be documented here.
|
||||
- `Fixed` for any bug fixes.
|
||||
- `Security` in case of vulnerabilities.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project *does not adhere* to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [2018-11-05]
|
||||
### Added
|
||||
- Created new addon in nacho/ for user avatars
|
||||
- Created new addon in nacho/ for dropdowns
|
||||
- Created new addon in nacho/ for power select + lookup search
|
||||
|
||||
### Changed
|
||||
- Reorganized dependent packages and removed yarn.lock files consistent with previous changes for Yarn Workspaces
|
||||
|
||||
## [2018-11-05]
|
||||
### Added
|
||||
- Hoisted package dependencies to monorepo by letting lerna defer to Yarn Workspaces. However, some package bundlers are currently incompatible with dependencies being hoisted to the root of the monorepo, they assume that dependent modules reside under the application's node_modules folder during installation and runtime, which conflicts with Yarn Workspaces scheme. The nohoist feature helps to resolve this issue.
|
||||
- Added a CHANGELOG.md file to packages and the monorepo root.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project *does not adhere* to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
@ -1,19 +1,79 @@
|
||||
##About
|
||||
`wherehows-web`:
|
||||
This is the mono repository for Project Starfleet's portal web client &
|
||||
related packages.
|
||||
|
||||
# DataHub Web
|
||||
The DataHub web application is written in [TypeScript](https://www.typescriptlang.org/) and [EmberJs](https://emberjs.com/).
|
||||
The application is developed using a modular monorepo architecture, via [Yarn Workspaces](https://classic.yarnpkg.com/en/docs/workspaces), that allows us to split the application features into individually installable packages.
|
||||
|
||||
##Getting Started
|
||||
Start by installing Lerna as a global npm package.
|
||||
```
|
||||
$ yarn global add lerna
|
||||

|
||||
|
||||
## Folder Layout
|
||||
The folder structure is organized as below:
|
||||
```sh
|
||||
datahub-web
|
||||
├── @datahub # application modules / packages
|
||||
├── blueprints # EmberJs blueprints for the app
|
||||
├── configs # configuration sources for building the app
|
||||
├── node_modules # installed packages dependencies
|
||||
├── packages # application source directory
|
||||
└── scripts # helper shell scripts
|
||||
```
|
||||
|
||||
Bootstrap (install dependencies) for each package
|
||||
## Prerequisites
|
||||
* https://github.com/linkedin/datahub/blob/master/datahub-frontend/README.md#pre-requisites
|
||||
* Other dependencies are installed as part of the build step
|
||||
|
||||
## Build
|
||||
Running the build script `./gradlew build` from the top-level directory `<DOWNLOAD_DIRECTORY>/datahub` will build the entire app.
|
||||
|
||||
To build the web client (Ember application), you can run the following from the top-level directory
|
||||
|
||||
```sh
|
||||
datahub> ./gradlew emberBuild
|
||||
```
|
||||
$ lerna bootstrap
|
||||
or
|
||||
|
||||
```shell script
|
||||
datahub> ./gradlew :datahub-web:build
|
||||
```
|
||||
|
||||
###/packages/wherehows-portal
|
||||
Contains codebase for web portal application.
|
||||
Building will run the monorepo test suite and transpile the TypeScript application into the `datahub-web/dist` folder.
|
||||
|
||||
## Developing & Running the web application
|
||||
Once [DataHub GMS](../gms) and the [DataHub Frontend](../datahub-frontend) are running you can start [DataHub Web](./) by running:
|
||||
```shell script
|
||||
datahub> ./gradew emberServe
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```shell script
|
||||
datahub-web> yarn # To install dependencies, if you skipped the build step above
|
||||
datahub-web> yarn run dev # serve the ember application
|
||||
```
|
||||
This will start the ember application and proxy to your running instance of [DataHub Frontend](../datahub-frontend).
|
||||
NOTE: If you are running [DataHub Frontend](../datahub-frontend) on a port other than 9001, you will need to update the proxy to this port number in the [gradle script](./build.gradle).
|
||||
|
||||
## Testing
|
||||
|
||||
To run all tests
|
||||
```shell script
|
||||
datahub> ./gradlew emberTest
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```shell script
|
||||
datahub> yarn test
|
||||
```
|
||||
|
||||
To run test for a specific package / workspace in the [DataHub Web](./) monorepo, you can execute
|
||||
```shell script
|
||||
datahub> yarn workspace <WORKSPACE_NAME> test # where WORKSPACE_NAME is a yarn workspace in @datathub/
|
||||
```
|
||||
|
||||
For example:
|
||||
```shell script
|
||||
datahub> yarn workspace @datahub/data-models test
|
||||
```
|
||||
|
||||
## Contributing
|
||||
[See contributing.md](../CONTRIBUTING.md)
|
||||
@ -7,7 +7,8 @@
|
||||
"lint:js": "eslint . --ext .js --ext .ts --quiet",
|
||||
"lint:jsfix": "eslint . --ext .js --ext .ts --quiet --fix",
|
||||
"test": "wsrun --serial test",
|
||||
"commit-test": "lint-staged"
|
||||
"commit-test": "lint-staged",
|
||||
"dev": "./node_modules/.bin/ember s --proxy http://localhost:9001"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^1.13.0",
|
||||
|
||||
BIN
docs/imgs/entity_page_screenshot.png
Normal file
BIN
docs/imgs/entity_page_screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
Loading…
x
Reference in New Issue
Block a user