Skip to content

Commit

Permalink
RN-497: meditrak-app-server scaffolding (beyondessential#3905)
Browse files Browse the repository at this point in the history
* RN-497: Added meditrak-app-server package

* RN-497: Added meditrak-api to servers.conf
  • Loading branch information
rohan-bes authored May 6, 2022
1 parent 9bbc58e commit 0758f6c
Show file tree
Hide file tree
Showing 19 changed files with 210 additions and 10 deletions.
1 change: 1 addition & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"packages/entity-server/**",
"packages/indicators/**",
"packages/lesmis-server/**",
"packages/meditrak-app-server/**",
"packages/psss-server/**",
"packages/report-server/**",
"packages/server-boilerplate/**",
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ This opens all packages as roots in the workspace, and means linting etc. will w
- [lesmis](https://github.com/beyondessential/tupaia/blob/dev/packages/lesmis/README.md)
- [lesmis-server](https://github.com/beyondessential/tupaia/blob/dev/packages/lesmis-server/README.md)
- [meditrak-app](https://github.com/beyondessential/tupaia/blob/dev/packages/meditrak-app/README.md)
- [meditrak-app-server](https://github.com/beyondessential/tupaia/blob/dev/packages/meditrak-app-server/README.md)
- [psss](https://github.com/beyondessential/tupaia/blob/dev/packages/psss/README.md)
- [psss-server](https://github.com/beyondessential/tupaia/blob/dev/packages/psss-server/README.md)
- [web-config-server](https://github.com/beyondessential/tupaia/blob/dev/packages/web-config-server/README.md)
Expand Down
18 changes: 10 additions & 8 deletions codeship-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,29 @@
command: './packages/devops/scripts/ci/testBackend.sh admin-panel-server'
- name: Test central-server
command: './packages/devops/scripts/ci/testBackend.sh central-server'
- name: Test entity-server
command: './packages/devops/scripts/ci/testBackend.sh entity-server'
- name: Test lesmis-server
command: './packages/devops/scripts/ci/testBackend.sh lesmis-server'
- name: Test web-config-server
command: './packages/devops/scripts/ci/testBackend.sh web-config-server'
- name: Test meditrak-app-server
command: './packages/devops/scripts/ci/testBackend.sh meditrak-app-server'
- name: Test psss-server
command: './packages/devops/scripts/ci/testBackend.sh psss-server'
- name: Test report-server
command: './packages/devops/scripts/ci/testBackend.sh report-server'
- name: Test entity-server
command: './packages/devops/scripts/ci/testBackend.sh entity-server'
- name: Test web-config-server
command: './packages/devops/scripts/ci/testBackend.sh web-config-server'
- type: parallel
name: Test batch 2
steps:
- name: Test database
command: './packages/devops/scripts/ci/testBackend.sh database'
- name: Test auth
command: './packages/devops/scripts/ci/testBackend.sh auth'
- name: Test data-api
command: './packages/devops/scripts/ci/testBackend.sh data-api'
- name: Test data-lake-api
command: './packages/devops/scripts/ci/testBackend.sh data-lake-api'
- name: Test auth
command: './packages/devops/scripts/ci/testBackend.sh auth'
- name: Test database
command: './packages/devops/scripts/ci/testBackend.sh database'
- name: Test indicators
command: './packages/devops/scripts/ci/testBackend.sh indicators'
- name: Test internal-dependencies
Expand Down
2 changes: 2 additions & 0 deletions packages/devops/ci/tupaia-ci-cd.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ RUN mkdir -p ./packages/lesmis
COPY packages/lesmis/package.json ./packages/lesmis
RUN mkdir -p ./packages/lesmis-server
COPY packages/lesmis-server/package.json ./packages/lesmis-server
RUN mkdir -p ./packages/meditrak-app-server
COPY packages/meditrak-app-server/package.json ./packages/meditrak-app-server
RUN mkdir -p ./packages/psss
COPY packages/psss/package.json ./packages/psss
RUN mkdir -p ./packages/psss-server
Expand Down
38 changes: 38 additions & 0 deletions packages/devops/configs/servers.conf
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,44 @@ server {
internal;
}

}
server {

listen 80;
listen [::]:80;
server_name ~^.*meditrak-api\.tupaia\.org$;
root /usr/share/nginx/html;

# Redirect to HTTPs when behind a proxy
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
include /etc/nginx/h5bp/basic.conf;

location / {
proxy_pass http://localhost:8020;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 150;
proxy_send_timeout 100;
proxy_read_timeout 100;
proxy_buffers 4 32k;
client_max_body_size 50m;
client_body_buffer_size 128k;
}

# Redirect error pages
#
error_page 404 500 502 503 504 /error_page.html;
location = /error_page.html {
root /home/ubuntu;
internal;
}

}
server {

Expand Down
5 changes: 5 additions & 0 deletions packages/meditrak-app-server/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DB_NAME=
DB_PASSWORD=
DB_URL=
DB_PORT=
DB_USER=
3 changes: 3 additions & 0 deletions packages/meditrak-app-server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# @tupaia/meditrak-app-server

Back end server for the Meditrak app.
9 changes: 9 additions & 0 deletions packages/meditrak-app-server/examples.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
@hostname = localhost
@port = 8020
@host = {{hostname}}:{{port}}
@version = v1
@contentType = application/json

### /test
GET http://{{host}}/{{version}}/test HTTP/2.0

11 changes: 11 additions & 0 deletions packages/meditrak-app-server/jest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Tupaia
* Copyright (c) 2017 - 2022 Beyond Essential Systems Pty Ltd
*/

import baseConfig from '../../jest.config-ts.json';

module.exports = async () => ({
...baseConfig,
rootDir: '.',
});
36 changes: 36 additions & 0 deletions packages/meditrak-app-server/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "@tupaia/meditrak-app-server",
"version": "0.0.0",
"private": true,
"description": "Backend server for Meditrak-app",
"homepage": "https://github.com/beyondessential/tupaia",
"bugs": {
"url": "https://github.com/beyondessential/tupaia/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/beyondessential/tupaia"
},
"author": "Beyond Essential Systems <admin@tupaia.org> (https://beyondessential.com.au)",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc -p tsconfig-build.json",
"lint": "eslint . --ext .ts",
"lint:all": "yarn run lint \"src/**/*.{ts,jsx}\"",
"lint:fix": "yarn lint --fix",
"prestart": "npm run -s build",
"start": "node dist",
"start-dev": "LOG_LEVEL=debug ../../scripts/bash/backendStartDev.sh 9998 -ts",
"start-verbose": "LOG_LEVEL=debug npm run start-dev",
"test": "jest",
"test:coverage": "jest --coverage",
"test:watch": "jest --watch"
},
"dependencies": {
"@tupaia/database": "1.0.0",
"@tupaia/server-boilerplate": "1.0.0",
"dotenv": "^8.2.0",
"winston": "^3.2.1"
}
}
11 changes: 11 additions & 0 deletions packages/meditrak-app-server/src/__tests__/example.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Tupaia
* Copyright (c) 2017 - 2020 Beyond Essential Systems Pty Ltd
*
*/

describe('Example test', () => {
it('passes a stub test', () => {
expect(1).toBe(1);
});
});
15 changes: 15 additions & 0 deletions packages/meditrak-app-server/src/app/createApp.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/**
* Tupaia
* Copyright (c) 2017 - 2021 Beyond Essential Systems Pty Ltd
*/
import { TupaiaDatabase } from '@tupaia/database';
import { MicroServiceApiBuilder } from '@tupaia/server-boilerplate';

/**
* Set up express server with middleware,
*/
export function createApp() {
const app = new MicroServiceApiBuilder(new TupaiaDatabase()).build();

return app;
}
6 changes: 6 additions & 0 deletions packages/meditrak-app-server/src/app/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* Tupaia
* Copyright (c) 2017 - 2020 Beyond Essential Systems Pty Ltd
*/

export { createApp } from './createApp';
34 changes: 34 additions & 0 deletions packages/meditrak-app-server/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/**
* Tupaia
* Copyright (c) 2017 - 2020 Beyond Essential Systems Pty Ltd
*/

import * as dotenv from 'dotenv';

import http from 'http';

import winston from 'winston';
import { configureWinston } from '@tupaia/server-boilerplate';
import { createApp } from './app';

configureWinston();
dotenv.config(); // Load the environment variables into process.env

/**
* Set up app with routes etc.
*/
const app = createApp();

/**
* Start the server
*/
const port = process.env.PORT || 8020;
http.createServer(app).listen(port);
winston.info(`Running on port ${port}`);

/**
* Notify PM2 that we are ready
* */
if (process.send) {
process.send('ready');
}
12 changes: 12 additions & 0 deletions packages/meditrak-app-server/tsconfig-build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"extends": "./tsconfig.json",

"compilerOptions": {
"outDir": "dist",
"declaration": true,
"noEmit": false
},

"include": ["src/**/*"],
"exclude": ["src/__tests__", "src/@types"]
}
10 changes: 10 additions & 0 deletions packages/meditrak-app-server/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extends": "../../tsconfig-ts.json",

"compilerOptions": {
"typeRoots": ["src/@types", "node_modules/@types", "../../node_modules/@types"],
"noEmit": true
},

"include": ["src/**/*", "jest.config.ts"]
}
2 changes: 1 addition & 1 deletion scripts/bash/buildNonInternalDependencies.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash -ex

PACKAGES="report-server admin-panel-server central-server entity-server lesmis lesmis-server psss psss-server web-config-server web-frontend"
PACKAGES="report-server admin-panel-server central-server entity-server lesmis lesmis-server meditrak-app-server psss psss-server web-config-server web-frontend"

CONCURRENT_BUILD_BATCH_SIZE=1

Expand Down
2 changes: 1 addition & 1 deletion scripts/bash/getDeployablePackages.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash -e

echo "admin-panel" "lesmis" "psss" "web-frontend" "report-server" "admin-panel-server" "entity-server" "lesmis-server" "central-server" "psss-server" "web-config-server"
echo "admin-panel" "lesmis" "psss" "web-frontend" "admin-panel-server" "central-server" "entity-server" "lesmis-server" "meditrak-app-server" "psss-server" "report-server" "web-config-server"
exit 0
4 changes: 4 additions & 0 deletions tupaia-packages.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@
"name": "meditrak-app",
"path": "packages/meditrak-app"
},
{
"name": "meditrak-app-server",
"path": "packages/meditrak-app-server"
},
{
"name": "psss",
"path": "packages/psss"
Expand Down

0 comments on commit 0758f6c

Please sign in to comment.