Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidje13/Refacto
A remote retro facilitation tool.
https://github.com/davidje13/Refacto
collaboration retro retrospective
Last synced: 3 months ago
JSON representation
A remote retro facilitation tool.
- Host: GitHub
- URL: https://github.com/davidje13/Refacto
- Owner: davidje13
- License: gpl-3.0
- Created: 2019-02-19T00:24:58.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T09:31:23.000Z (4 months ago)
- Last Synced: 2024-07-26T10:27:25.829Z (4 months ago)
- Topics: collaboration, retro, retrospective
- Language: TypeScript
- Homepage: https://retro.davidje13.com/
- Size: 7.25 MB
- Stars: 18
- Watchers: 3
- Forks: 6
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Security: docs/SECURITY.md
Awesome Lists containing this project
- awesome-starred - davidje13/Refacto - A remote retro facilitation tool. (others)
README
# Refacto
A complete from-scratch re-write of
[Postfacto](https://github.com/vmware-archive/postfacto), with a focus on
simplified code, development, and deployment.![Refacto](docs/screenshot.png)
## Running locally
Requires [Node.js 18 or above](https://nodejs.org/en/).
```sh
npm start
```The site will be available at , using a mock
Google authentication server and an in-memory database.See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for full guidance on local
development.## Building for deployment
You can find pre-built releases at
[Refacto/releases](https://github.com/davidje13/Refacto/releases),
or you can build your own:```sh
npm run build
```The output is placed in `build`.
## Deploying
You will need to have NodeJS 18 or newer installed in the deployment
environment.```sh
cd build
npm install --omit=dev
./index.js
```By default:
- no authentication providers are available
(you will need to add at least one to use the service);
- an in-memory database is used
(all data will be lost when the process ends);
- blank secrets are used for encryption and password hashing
(you can use `./scripts/random-secrets.mjs` to generate a set of
secure random secrets for a deployment);
- Giphy integration is not enabled;
- haveibeenpwned integration _is_ enabled;
- the server listens on port `5000`.See [SERVICES.md](docs/SERVICES.md) and
[SECURITY.md](docs/SECURITY.md) for details.The full list of recognised configuration options (and their default
values) can be found in
[config/default.json](./backend/src/config/default.json)
(nested properties are joined and written in `UPPER_SNAKE_CASE`).Typical values to configure are:
```sh
PORT=5000 \
SSO_GOOGLE_CLIENT_ID="" \
SSO_GITHUB_CLIENT_ID="" \
SSO_GITHUB_CLIENT_SECRET="" \
SSO_GITLAB_CLIENT_ID="" \
DB_URL="mongodb://localhost:27017/refacto" \
GIPHY_API_KEY="" \
TRUST_PROXY="false" \
PASSWORD_WORK_FACTOR=10 \
PASSWORD_SECRET_PEPPER="" \
ENCRYPTION_SECRET_KEY="" \
TOKEN_SECRET_PASSPHRASE="" \
./index.js
```## Services
See the [services documentation](docs/SERVICES.md) for details on
setting up a database and integrating with authentication providers.## Extra security
See the [security documentation](docs/SECURITY.md) for details on
configuring additional security for deployments.