# CGI Example Project

The goal of this project is to give a working example of a basic Gemini CGI application. User identities are driven by TLS Client Certificates. This project will serve as a reference for CGI authors and be explained in detail in an instructional video.

## Features

* (DONE) New TLS certificates automatically create a new user account
* (DONE) Users can set data on their own account (a name field for example)
* (DONE) Users can add additional certificates to the same account by using a special code

## Setup

Create database with:

``` sqlite command to create database
sqlite3 db/cgi-example.sqlite3 < create_schema.sql
```

Then give write permission to the both the database and the containing directory (`db`) to the user that your Gemini server runs as. It is important that the containing folder write permissions are in place or you will see `50` errors returned when trying to write to the database.
