Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dynamods/notificationcenter
Dynamo Notification Center WebApp
https://github.com/dynamods/notificationcenter
Last synced: 2 months ago
JSON representation
Dynamo Notification Center WebApp
- Host: GitHub
- URL: https://github.com/dynamods/notificationcenter
- Owner: DynamoDS
- License: mit
- Created: 2022-07-19T19:00:13.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-09T19:18:12.000Z (3 months ago)
- Last Synced: 2024-10-09T22:43:17.143Z (3 months ago)
- Language: JavaScript
- Size: 681 KB
- Stars: 1
- Watchers: 9
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# NotificationCenter
[![License](https://img.shields.io/npm/l/@dynamods/notifications-center)](https://github.com/DynamoDS/NotificationCenter/blob/master/LICENSE)
[![version](https://img.shields.io/npm/v/@dynamods/notifications-center?logo=npm&label=version)](https://www.npmjs.com/package/@dynamods/notifications-center)
[![Build](https://github.com/DynamoDS/NotificationCenter/actions/workflows/build.yml/badge.svg)](https://github.com/DynamoDS/NotificationCenter/actions/workflows/build.yml)
[![Publish](https://github.com/DynamoDS/NotificationCenter/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/DynamoDS/NotificationCenter/actions/workflows/npm-publish.yml)
Dynamo Notification Center WebApp which is leveraged in Dynamo. This can also be leveraged by any products that needs a notification center.
---
## Requirements
For development, you will only need Node.js and a node global package, installed in your environement.
### Node
- #### Node installation on Windows
Just go on [official Node.js website](https://nodejs.org/) and download the LTS installer. Also, be sure to have `git` available in your PATH, `npm` might need it (You can find git [here](https://git-scm.com/)).
- #### Node installation on Ubuntu
You can install nodejs and npm easily with apt install, just run the following commands.
```shell
sudo apt install nodejs
sudo apt install npm
```- #### Other Operating Systems
You can find more information about the installation on the [official Node.js website](https://nodejs.org/) and the [official NPM website](https://npmjs.org/).
If the installation was successful, you should be able to run the following command (version outputs are just examples).
```shell
$ node --version
v16.16.0$ npm --version
8.15.0
```If you need to update `npm`, you can make it using `npm`!
```shell
npm install npm -g
```---
## Install
```shell
git clone https://github.com/DynamoDS/NotificationCenter
cd NotificationCenter
npm install --force
```### Notification endpoint
Notification endpoints for different environments are set in `.env` files in [config](config) folder. Webpack will load the correct `.env` file according to `--env` flag passed to it. [More info](https://webpack.js.org/api/cli/#environment-options)
## Running the project
```shell
npm run start:dev # start with dev notification url
npm run start:staging # start with staging notification url
npm run start # start with prod notification url
```## Building the project
```shell
npm run build:dev # build with dev notification url
npm run build:staging # build with staging notification url
npm run build # build with prod notification url
npm run bundle # build without notification url
```## Lint
We use [ESlint](https://eslint.org/) to analyze and find problems. It has [integrations](https://eslint.org/docs/latest/user-guide/integrations) for various editors and other tools.
```shell
npm run lint:check # To find problems
npm run lint:fix # To fix problems
```## Test
We use [jest](https://jestjs.io/) to run our tests.
```shell
npm run test:unit # To run unit test
npm run test:e2e # To run e2e test
npm run test # To runs all tests along with lint
```## Generate Third Party License Info
- To generate about box html files use `npm run generate_license`, this will output alternative about box files to [license_output](license_output). One will contain the full transitive production dep list, the other will contain the direct production deps.
- These files will be packed into the released npm package## Bump Version
```shell
npm run version:patch # To bump patch version
```