# secret-santa

> A web-based secret santa application to collect participants, shuffle and email each user with their chosen secret santa

Latest version **3.2.0** (published 2019-11-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install secret-santa
pnpm add secret-santa
yarn add secret-santa
bun add secret-santa
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.2.0 |
| Published | 2019-11-19 |
| First published | 2014-10-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 247.7 KB |
| Known vulnerabilities | 0 (+3 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 5 |
| Author | Daniel Jackson |
| Maintainers | cloakedninjas |

## Links

- npm: https://www.npmjs.com/package/secret-santa
- Repository: https://github.com/cloakedninjas/secret-santa
- Homepage: https://github.com/cloakedninjas/secret-santa#readme
- Issues: https://github.com/cloakedninjas/secret-santa/issues
- npm.io page: https://npm.io/package/secret-santa

## Dependencies (9)

- [ejs](https://npm.io/package/ejs.md) ^2.7.3
- [chalk](https://npm.io/package/chalk.md) ^2.4.2
- [express](https://npm.io/package/express.md) ^4.17.1
- [node-sass](https://npm.io/package/node-sass.md) ^4.13.0
- [ejs-locals](https://npm.io/package/ejs-locals.md) ^1.0.2
- [body-parser](https://npm.io/package/body-parser.md) ^1.19.0
- [cookie-parser](https://npm.io/package/cookie-parser.md) ^1.4.4
- [@sendgrid/mail](https://npm.io/package/@sendgrid/mail.md) ^6.4.0
- [express-session](https://npm.io/package/express-session.md) ^1.17.0

## Recent versions

- 3.2.0 (latest) — 2019-11-19
- 3.1.0 — 2019-01-27
- 3.0.0 — 2019-01-04
- 2.2.0 — 2018-11-13
- 2.1.0 — 2018-10-04
- 1.4.0 — 2017-11-14
- 1.3.0 — 2017-11-13
- 1.2.0 — 2016-11-30
- 1.0.1 — 2014-12-03
- 1.0.0 — 2014-10-19

## README

# Secret Santa

## About

This is an Express-based application that provides a simple form for users to sign up to a Secret Santa mailing group.
The host can then login and send out the emails, one per person, telling each person who they need to buy a gift for.

Build Status: [![CircleCI](https://circleci.com/gh/cloakedninjas/secret-santa/tree/master.svg?style=shield)](https://circleci.com/gh/cloakedninjas/secret-santa/tree/master)

## Installation

`$ git clone https://github.com/cloakedninjas/secret-santa.git --depth 1`

## Usage

Copy or rename `app/config/default.json` to `app/config/config.json` to suit your needs. You should change the
admin password as well as the default secrets for Session and Cookie storage.

Run the server using:

`$ npm start`

## Config

**title**

Set the sub heading on the page

**admin-password**

The password to access the admin page located at `/admin`

**deadline**

Your chosen deadline, appears on the top left of the screen

**spend-limit**

Your chosen purchase allowance, appears on the top left of the screen

**email-server**

Currently only Send Grid (https://sendgrid.com/) is supported, sign up for a trial account to send free emails.
Then paste your API key into the config

```
"email-server": {
    "type": "sendgrid",
    "from-address": "santa@example.com",
    
    "options": {
      "api-key": "abc-123"
    }
}
```

**cookie-secret**

Used for Express's cookie parser middleware

**session-secret**

Used for Express's session middleware

## Customizing

All templates (including the email) are stored in `app/views`, and are fully customizable.

- `layout.ejs` is the main template
- `index.ejs` is what users will see when they register

## Other commands

`npm run <cmd>`
- `test` runs tests
- `lint` runs eslint over code
- `css` build and minifies the CSS

---
_Source: https://npm.io/package/secret-santa · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
