Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tutods/covid-tracking-system

COVID Tracking System is a web app with the purpose to store COVID-19 tests and the information related
https://github.com/tutods/covid-tracking-system

angular api covid-19 express mean mongoose nodejs

Last synced: about 2 months ago
JSON representation

COVID Tracking System is a web app with the purpose to store COVID-19 tests and the information related

Awesome Lists containing this project

README

        



Covid

COVID Tracking System

[![Version](https://img.shields.io/badge/Version-3.1.0-blue)](#)

## API
+ **Folder:** `backend/`


NodeJS


MongoDB

### đŸ“Ļī¸ Packages

#### Express
+ **[URL](http://expressjs.com)**
+ **How to install**?
+ `npm install express`

#### Mongoose
+ **[URL](https://mongoosejs.com)**
+ **How to install**?
+ `npm install mongoose`

#### DotENV
+ **[URL](https://www.npmjs.com/package/dotenv)**
+ **How to install**?
+ `npm install dotenv`

#### BCrypt
+ **[URL](https://www.npmjs.com/package/bcryptjs)**
+ **How to install**?
+ `npm install bcryptjs`

#### Nodemon
+ **[URL](http://nodemon.io)**
+ **How to install**?
+ `npm install -D nodemon`
+ `npm install -g nodemon`
+ **`-D`** to install only for dev
+ **`-g`** to install package globally

#### Multer
+ **[URL](https://www.npmjs.com/package/multer)**
+ **How to install**?
+ `npm install --save multer`

#### Body Parser
+ **[URL](https://www.npmjs.com/package/body-parser)**
+ **How to install**?
+ `npm install body-parser`

#### Cors
+ **[URL](https://www.npmjs.com/package/cors)**
+ **How to install**?
+ `npm install cors`

#### ShortID
+ **[URL](https://www.npmjs.com/package/shortid)**
+ **How to install**?
+ `npm install shortid`

#### Nodemailer
+ **[URL](https://www.npmjs.com/package/nodemailer)**
+ **How to install**?
+ `npm install nodemailer`

#### EJS
+ **[URL](https://www.npmjs.com/package/ejs)**
+ **How to install**?
+ `npm install ejs`

#### Swagger UI Express
+ **[URL](https://www.npmjs.com/package/swagger-ui-express)**
+ **How to install**?
+ `npm install swagger-ui-express`

#### JSON Web Token (JWT)
+ **[URL](https://www.npmjs.com/package/jsonwebtoken)**
+ **How to install**?
+ `npm install jsonwebtoken`

#### Node-cron
+ **[URL](https://www.npmjs.com/package/node-cron)**
+ **How to install**?
+ `npm install node-cron`

#### Request
+ **[URL](https://www.npmjs.com/package/request)**
+ **How to install**?
+ `npm install request`

### ℹī¸ How to run
1. Execute the command `npm install`
1. Create `.env` file with this code:
```env
# NODE PORT
PORT=3000

# JWT
SECRET=secret_word_for_jwt
EXPIRES=1800000

# MONGO DATA
MONGO_HOST=localhost
MONGO_PORT=27017
MONGO_DB=covidSystem

# EMAIL DATA
[email protected]
EMAIL_PWD=email_pwd

# USER DATA
ADMIN_NAME=COVID Tracking System
ADMIN_EMAIL=admin_email
ADMIN_PWD=admin_pwd
```
+ This code is on `.env.example` file;
+ The `MONGO_PORT=27017` is default value;

2. To insert default roles and default admin user into **MongoDB**, execute `npm run setup`
3. To run **NodeJS** server (with **Nodemon**) execute `npm run dev`

### 📂 Folder Structure

```diff
├── api
│ ├── controllers
│ │ ├── CovidTestController.js
│ │ ├── GenericController.js
│ │ ├── PatientController.js
│ │ ├── SummaryController.js
│ │ └── UserController.js
│ ├── documentation
│ │ ├── index.js
│ │ └── src
│ ├── index.js
│ ├── middlewares
│ │ ├── authorize.js
│ │ ├── errorHandler.js
│ │ ├── filters.js
│ │ ├── logger.js
│ │ ├── session.js
│ │ └── sort.js
│ ├── models
│ │ ├── CovidTest.js
│ │ ├── Patient.js
│ │ ├── Role.js
│ │ └── User.js
│ └── routes
│ ├── covidTests.js
│ ├── patients.js
│ ├── roles.js
│ ├── summary.js
│ └── users.js
├── app.js
├── config
│ └── mongoose.js
├── package-lock.json
├── package.json
├── public
├── requests
│ ├── covidTests.http
│ ├── filters.http
│ ├── patients.http
│ ├── roles.http
│ ├── sort.http
│ └── users.http
├── scripts
│ ├── emailServer.js
│ ├── resetEmail.js
│ ├── roles.json
│ └── setup.js
└── views
├── mail
│ └── reset.ejs
└── partials
├── copyright.ejs
├── footer.ejs
├── header.ejs
├── logo.ejs
├── preheader.ejs
├── style.ejs
└── title.ejs
```

## Frontend
+ **Folder:** `frontend/`


Angular

### ℹī¸ How to run
1. Change to `frontend/` folder (on terminal: `cd frontend`)
1. Execute the command `npm install`
1. Execute the command `ng serve` to run **Angular** application

### 📂 Folder Structure
```diff
├── src
│ ├── e2e
│ ├── app
│ │ ├── app-routing.module.ts
│ │ ├── app.component.html
│ │ ├── app.component.sass
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── auth
│ │ │ ├── change
│ │ │ ├── login
│ │ │ ├── reset
│ │ │ ├── session.service.spec.ts
│ │ │ └── session.service.ts
│ │ ├── components
│ │ │ └── dialogs
│ │ ├── directives
│ │ │ ├── can-use
│ │ │ └── enable-menu
│ │ ├── functions
│ │ │ └── validateScopes.ts
│ │ ├── guards
│ │ │ └── scope
│ │ ├── interceptors
│ │ │ └── session-lost.interceptor.ts
│ │ ├── layout
│ │ │ ├── default
│ │ │ └── landing-page
│ │ ├── models
│ │ │ ├── patient.model.ts
│ │ │ ├── role.model.ts
│ │ │ └── user.model.ts
│ │ ├── pages
│ │ │ ├── dashboard
│ │ │ ├── patients
│ │ │ └── users
│ │ └── services
│ │ ├── covid-api
│ │ ├── patients
│ │ ├── patients.service.spec.ts
│ │ ├── patients.service.ts
│ │ ├── roles
│ │ └── users-service
│ ├── assets
│ │ └── images
│ │ ├── add.png
│ │ ├── backgrounds
│ │ ├── logo
│ │ ├── prevention
│ │ ├── symptoms
│ │ └── user.png
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── proxy.conf.json
│ ├── styles
│ │ ├── _variables.sass
│ │ └── theme.sass
│ ├── styles.sass
│ └── test.ts
├── .editorconfig
├── .gitignore
├── angular.json
├── browserslist
├── karma.conf.js
├── package-lock.json
├── package.json
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.spec.json
└── tslint.json
```

### đŸ“Ļī¸ Packages

#### Angular Material
+ **[URL](https://material.angular.io)**
+ **How to install**?
+ `ng add @angular/material`

#### Angular Flex Layout
+ **[URL](https://github.com/angular/flex-layout)**
+ **How to install**?
+ `npm i -s @angular/flex-layout @angular/cdk`

#### ChartJS
+ **[URL](https://github.com/chartjs/Chart.js)**
+ **How to install**?
+ `npm i -s chart.js`

#### NG2-Charts
+ **[URL](https://www.npmjs.com/package/ng2-charts)**
+ **How to install**?
+ `npm i ng2-charts`

#### NG2-Search-Filter
+ **[URL](https://www.npmjs.com/package/ng2-search-filter)**
+ **How to install**?
+ `npm i ng2-search-filter`