# 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.