-
Notifications
You must be signed in to change notification settings - Fork 42
zForDevelopers – Onboarding
MicrobeTrace is built with Angular and Node.js. Before you begin, install the following tools:
- [Git](https://git-scm.com/)
- [Node.js and npm](https://nodejs.org/) (v16 or later recommended)
- [Angular CLI](https://angular.io/cli) –
npm install -g @angular/cli
- A text editor such as [VSCode](https://code.visualstudio.com/)
- A modern web browser. Development is tested primarily in Chrome/Chromium.
Optional but helpful tools:
- [nvm](https://github.com/nvm-sh/nvm) (or [nvm-windows](https://github.com/coreybutler/nvm-windows)) to manage Node versions.
- A Git GUI like [GitKraken](https://www.gitkraken.com/git-client).
- [Windows Terminal](https://github.com/microsoft/terminal) for a better command line on Windows
Clone the repository and install dependencies:
git clone https://github.com/cdcgov/MicrobeTrace.git
cd MicrobeTrace
npm install
After installation you can start the development server with:
npm start
This runs ng serve
under the hood and launches the app at http://localhost:4200/. The server reloads automatically when you change source files.
To create a production build:
npm run build
The compiled files are written to the dist/
directory. You can deploy these static files with any web server or host them using services like GitHub Pages.
- Use the Angular CLI to generate new components and services.
- Most of the application's logic lives inside
src/
. - Data remains client-side; no server is required beyond serving the static assets.
The angularUpdate
branch reflects what is deployed in production.
- [MicrobeTrace Wiki](https://github.com/CDCgov/MicrobeTrace/wiki) – development notes and user guides.
- [Issue Tracker](https://github.com/CDCgov/MicrobeTrace/issues) – feature requests and bug reports.
MicrobeTrace depends on several companion libraries:
- TidyTree – D3-based phylogenetic tree rendering.
- Patristic – object model for phylogenetic branches.
- Physics Tree – experimental force‑directed tree layout.
- TN93.js – distance calculation algorithm.
- bioseq.js – sequence alignment utilities.
- AlignmentViewer – visualizes sequence alignments.
- Fileto – keeps file handles accessible after uploads.
Only TidyTree is user-facing; others support internal functionality.
Copyright 2017-2020 Centers for Disease Control and Prevention • Acknowledgements