mona
所属分类:人工智能/神经网络/深度学习
开发工具:Scala
文件大小:3282KB
下载次数:0
上传日期:2023-04-15 04:25:08
上 传 者:
sh-1993
说明: 北美MassBank(MoNA)是一个以元数据为中心的自动管理存储库,旨在实现高效存储和查询...
(MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. The MoNA server is a set of Spring microservices written in Scala and Java utilizing MongoDB and ElasticSearch for data storage and RabbitMQ for messaging. The front-end is an Angular 10 web)
文件列表:
.run (0, 2023-04-15)
.run\Build Docker Image Auth Server.run.xml (1260, 2023-04-15)
.run\Build Docker Image Bootstrap.run.xml (1251, 2023-04-15)
.run\Build Docker Image Config.run.xml (1245, 2023-04-15)
.run\Build Docker Image Curation Runner.run.xml (1267, 2023-04-15)
.run\Build Docker Image Curation Scheduler.run.xml (1273, 2023-04-15)
.run\Build Docker Image Discovery.run.xml (1251, 2023-04-15)
.run\Build Docker Image Download Scheduler.run.xml (1273, 2023-04-15)
.run\Build Docker Image Persistence Server.run.xml (1274, 2023-04-15)
.run\Build Docker Image Proxy Prod.run.xml (1250, 2023-04-15)
.run\Build Docker Image Proxy Staging.run.xml (1256, 2023-04-15)
.run\Build Docker Image Similarity.run.xml (1257, 2023-04-15)
.run\Build Docker Image Webhooks Server.run.xml (1267, 2023-04-15)
.run\Build Docker Images.run.xml (1198, 2023-04-15)
.run\MoNA Run Test Suite.run.xml (1122, 2023-04-15)
.run\Run Full Test Suite.run.xml (329, 2023-04-15)
.run\Start Test Server.run.xml (509, 2023-04-15)
LICENSE.txt (7651, 2023-04-15)
backend (0, 2023-04-15)
backend\app (0, 2023-04-15)
backend\app\pom.xml (866, 2023-04-15)
backend\app\server (0, 2023-04-15)
backend\app\server\pom.xml (733, 2023-04-15)
backend\app\server\proxy (0, 2023-04-15)
backend\app\server\proxy\.browserslistrc (853, 2023-04-15)
backend\app\server\proxy\.docker (0, 2023-04-15)
backend\app\server\proxy\.editorconfig (274, 2023-04-15)
backend\app\server\proxy\angular.json (5504, 2023-04-15)
backend\app\server\proxy\karma.conf.js (1017, 2023-04-15)
backend\app\server\proxy\package-lock.json (551281, 2023-04-15)
backend\app\server\proxy\package.json (2754, 2023-04-15)
... ...
# MassBank of North America Application
## Common:
- Highly Recommended to use Linux OS (Preferably Ubuntu LTS 18.04 or 20.04)
- Ensure you have the following installed
- Node Version Manager(NVM)
- Docker Engine (And Docker-Compose)
- NPM (Node Package Manager)
- Angular CLI 10.2.3
- IntelliJ IDEA Ultimate
- Maven 3 (Should be baked into IntelliJ)
- Git
- AWS CLI (for ECR to pull docker images)
- Java 1.8_292 (open_jdk x***)
- Scala 2.13
- Installs in IntelliJ
- Right-click the main 'mona' project and click 'Add Framework Support'
- Gain Access to the following
- Internal mona-config private repo
- You'll need admin access and will need to generate a Personal Access Token (https://github.com/settings/tokens)
- Then open your `~/.bash_rc` and set the following variables, 'GIT_USER' and 'GIT_PASS' to your github username and
new personal access token. This allows the discovery service to work as intended
- Note: You'll need to set these tokens on the IPA and GOSE servers as they expire every year (you can configure
how quickly these expire).
- Access to AWS account and ability to push to ECR
- Admin access to public mona repo
- You'll need a settings.xml file for your maven 'User Settings File' this will include the nexus profile
and all the necessary repo's for pulling down libraries. Please ask a developer on the team for this config
and store file at `~/.m2`
## Starting Development:
- There are 3 scripts in the project to easily start development
- `./start_corsproxy.sh`
- Solves CORS issues when connecting the frontend to the microservices
- `./start_docker_dev.sh`
- Starts all necessary docker microservices
- `./start_frontend.sh`
- Starts the Angular 10 frontend with ng serve to develop on the fly
## PROD Deployment:
- Production deployment is simple with docker
- Bring down the application with: `docker stack rm mona`
- Bring the application back up with `docker stack deploy -c docker-compose-prod.yml`
- Note: You may need to force the newest images to pull down with `docker-compose -f docker-compose-prod.yml pull`
## Running Test Suite With IntelliJ and Maven:
- Using the built-in Maven tab, we can run the full scala test suite
- Make sure the following Maven profiles are selected (and only those): nexus, scala, scala-test
- Run the following docker-compose file: `docker-compose -f docker-compose-test.yml -d`
- Finally, run `mvn clean install` on the 'backend(root)'
## Generate new Docker Images:
- Make sure the following Maven profiles are selected (and only those): nexus, scala, docker
- The following services can be built into docker images: discovery, bootstrap, webhooks-server,curation-scheduler,
repository, persistence-server, auth-server, similarity, proxy, download-scheduler, and curation-runner
- `mvn clean install` will build a local docker image for the corresponding service
- `mvn clean deploy` will build the docker image and deploy it to ECR (make sure you signed in to AWS CLI)
- default tag is 'test' you can easily configure that in the main mona pom.xml
- NOTE: For the proxy service pom.xml, you'll need to configure the 'ng.env' variable to 'staging' or 'prod'
depending on if the build is for IPA('staging') or GOSE('prod');
## Important Development Notes:
- Make sure project sdk/jdk is set to Java 1.8_292
- Make sure to configure Maven in IntelliJ IDEA to use the same project jdk which should be Java 1.8_292
- Make sure you added framework support for scala 2.13 in IntelliJ for the mona project
- When making a new branch for git, naming convention should typically have a ticket number (i.e. FIEHN-1234) following
a slash and a description of the ticket (i.e. FIEHN-1234/ThisIsATicket).
- If your having issues pulling packages with maven, you can troubleshoot with deleting your `~/.m2/repository` directory.
Additionally, ensure you have the correct 'settings.xml' file in `~/.m2`. If problems still persist, try the 'Invalidate
Caches' under File tab in IntelliJ IDEA.
### ports for cluster service nodes:
- persistence svr: 2222
- configuration svr: 1111
- discovery service: 8761
- auth server: 3333
- proxy service: 8080 (entry point)
### ports for in-memory node:
- postgresql db : 5432
近期下载者:
相关文件:
收藏者: