<commit_before># RSVP

This is a basic app for managing an RSVP list.  It can serve basic HTML and gives an endpoint for accepting RSVP data from that web page.

I built this to handle the RSVP lists for our baby shower and wedding.

## CLI Usage

```
# ./rsvp -add -name '<NAME>' -email '<EMAIL>'
Successfully added RSVP

# ./rsvp -add -name '<NAME>' -email '<EMAIL>'
Successfully added RSVP

# ./rsvp -list
Name        Email
<NAME>    <EMAIL>
<NAME>    <EMAIL>
```

## HTTP Server

_TODO_
<commit_msg>add readme content for the http server<commit_after># RSVP

This is a basic app for managing an RSVP list.  It can serve basic HTML and gives an endpoint for accepting RSVP data from that web page.

I built this to handle the RSVP lists for our baby shower and wedding.

## Usage

```
Error: one of the following must be given: -add, -list, -http
Usage of ./rsvp:
  -add
      add an rsvp to the database
  -db string
      database file (default "./rsvp.boltdb")
  -email string
      email of person to add to database
  -http string
      start http server ([host]:port)
  -list
      list rsvp's in the database
  -name string
      name of person to add to database
  -root string
      root directory for http server (default "./")
```

## CLI Usage

```
# ./rsvp -add -name '<NAME>' -email '<EMAIL>'
Successfully added RSVP

# ./rsvp -add -name '<NAME>' -email '<EMAIL>'
Successfully added RSVP

# ./rsvp -list
Name        Email
<NAME>    <EMAIL>
<NAME>    <EMAIL>
```

## HTTP Server

RSVP is able to run a web server, giving the user endpoints for handling the rsvp list.

### Usage

Using the `-http` and optional `-root` options will start the http server.  Docker support
is included to run the rsvp server in a container.

bq. `rsvp -http=:6060 -root /path/to/web/content`

### Endpoints

| Request | Description |
| ------- | ----------- |
| `POST /rsvp` | add an entry to the rsvp list |
| `GET /rsvp/list` | list all the entries on the rsvp list |
| `GET /rsvp/backup` | downloads a full backup of the rsvp bolt database |

{'fraction_non_alphanumeric': 0.11214495592556317, 'fraction_numerical': 0.0019588638589618022, 'mean_word_length': 2.8620037807183363, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7079649', 'n_tokens_mistral': 676, 'n_tokens_neox': 644, 'n_words': 299}