Web portal for the Dfam resource ( www.dfam.org ). Dfam is a collection of DNA Transposable Element sequence alignments, hidden Markov Models (HMMs), consensus sequences, and genome annotations. The portal is based on Angular 10.x and requires an instance of the REST Dfam-API running on the same machine.
All client-side dependencies are specified in package.json
or shipped in
src/assets
. Run npm install
to download these dependencies before the first
run and whenever dependencies have changed.
For development and testing you will need to install @angular/cli
globally
(for example with npm install -g
), and ensure that the included ng
command
is on your PATH
(or specify the full path to it when necessary).
The app expects a Dfam-API server to be deployed or proxied in such a way that
/api/
reaches it, and the same for Dfam-Backend-API at /api/backend/
. This
is specified in src/app/shared/dfam-api/dfam-api.service.ts
.
src/proxy.conf.json
can be used to redirect this path at developement time.
For convenience, src/proxy.conf.json.public
is provided as an example to use
the live API at https://www.dfam.org/
Run ng serve
for a dev server, optionally with --port <port>
, and navigate
to http://localhost:10050/
. The app will automatically reload if you change
any of the source files.
For testing in IE, you will need to run ng serve --configuration es5
.
Run ng generate component component-name
to generate a new component. You can
also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the
dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via
Karma.
Initially we stub'd out Protractor based e2e testing framework. This was never fully realized and the Protractor project will be abandoned in 2023. Cypress would be a good alternative to consider if we decide to pursue this form of testing. Cypress.
To get more help please submit a request through the issue tracker at https://github.com/Dfam-consortium/Dfam-Portal or email help@dfam.org.