Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/premieroctet/reactivated-app

Reactivated.app is an open-source app that scans your JS dependencies every 4 hours and generates cool dashboards
https://github.com/premieroctet/reactivated-app

nestjs reactjs typescript

Last synced: 2 months ago
JSON representation

Reactivated.app is an open-source app that scans your JS dependencies every 4 hours and generates cool dashboards

Awesome Lists containing this project

README

        

# [![image](https://user-images.githubusercontent.com/1102595/81568342-ea672c00-939d-11ea-8cd2-98270005822e.png)](https://reactivated.app)

[![prettier][prettier-badge]][prettier-url]
[![TypeScript][typescript-badge]][typescript-url]

Reactivated.app is an open-source app that scans your JS dependencies every 4 hours and generates [cool dashboards](https://reactivated.app/demo).

https://reactivated.app

## Features

- 🧩 Support for NPM dependencies
- πŸ™ Import your GitHub repositories
- πŸ”‹ Visualizing your project's health
- πŸ”Ž Detection of the framework used
- πŸ’… Grouping the different dependencies by a common prefix
- ✨ **Beta** Automated PR in a new branch with the up-to-date dependencies _(⚠️only supporting yarn.lock : will be created even if there is a package-lock.json)_

![Demo](reactivated-app.gif)

---

## πŸ’ͺ Built with

We use TypeScript ❀️ for static typing

### API

- [NestJS](https://nestjs.com/)
- [NestJS Crud](https://github.com/nestjsx/crud)
- [MySQL](https://www.mysql.com/) or [PostgreSQL](https://www.postgresql.org/) for the database
- [Bull](https://github.com/OptimalBits/bull) with [Redis](https://redis.io/) for computing expensive operations with workers

### Front

- [Create React App](https://github.com/facebook/create-react-app)
- [Chakra UI](https://chakra-ui.com/)
- [SWR](https://github.com/vercel/swr)
- [Framer motion](https://www.framer.com/motion/)

## Getting started

##### Prerequisites

- IDE with TypeScript, Prettier and ESLint support
- Node installed
- Yarn installed

### API

#### Installation

```bash
$ cd api
$ yarn
```

```bash
cp .env.dist .env.dev
```

#### Running the app

```
# watch mode
$ yarn start:dev

# start workers
yarn start:worker

# handle GitHub webhooks with Smee
$ yarn smee
```

The API should be available on [http://localhost:3000](http://localhost:3000) (the swagger doc is available on [http://localhost:3000/swagger](http://localhost:3000/swagger))

#### Webhook (GitHub API)

Forward the payload from GitHub API to our local dev API thanks to [Smee](https://github.com/probot/smee.io).

```bash
smee --url https://smee.io/BVk7Sqmgj7fXXcV --path /webhooks/consume --port 3000
```

#### Test

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```

### Front

#### Installation and .env config

```bash
cd front
cp .env.dist .env
yarn
```

#### Run the app

```bash
yarn start
```

The app should be available on [http://localhost:3007](http://localhost:3007)

#### Webpack config

We use `customize-cra` to add some additional configuration to Webpack.
One of those configuration is `aliases`. Whenever creating a new folder in the src folder, make sure it's correctly configured in the Webpack configuration.

#### Build the app

```bash
yarn build
```

## Contributing

1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
2. Install the dependencies (follow these instructions for the [API](api/README.md) and [Front](front/README.md))
3. Start the app, build your new feature and submit your pull request

OR

Make a new issue according to this [template](.github/ISSUE_TEMPLATE/custom.md)

[typescript-badge]: https://badges.frapsoft.com/typescript/code/typescript.svg?v=101
[typescript-url]: https://github.com/microsoft/TypeScript
[prettier-badge]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg
[prettier-url]: https://github.com/prettier/prettier