This page is for the technical documentation related to our project.
API Endpoints
Action | API URL | Verb |
---|---|---|
Create a template | /api/v1/template | POST |
Get template (metadata and fields) | /api/v1/template /{id} | GET |
Update a template (metadata and fields) | /api/v1/ /{id} | PUT |
Delete a template | /api/v1/ /{id} | DELETE |
Clone a template | /api/v1/ | POST |
Action: Create a template
URL / Verb: /api/v1/template
: POST
Payload
{
"name": "String; The name of the template"
}
Response
Status: 201
Location: https://tailgunner.app/api/v1/template/{id}
Content-Type: application/json
{
"id": "Integer; The ID of the template we created"
}
Data Structures
Table: templates
Field Name | Field Type |
---|---|
id | Primary Key |
user_id | Foreign Key, Index |
title | String |
description | Text, Nullable |
created_at | Timestamp |
updated_at | Timestamp |
deleted_at | Timestamp |
Table: template_fields
Field Name | Field Type |
---|---|
id | Primary Key |
template_id | Foreign Key, Index |
label | String |
name | String |
type | String |
order | Integer |
extended_options | Text, Nullable |
created_at | Timestamp |
updated_at | Timestamp |
deleted_at | Timestamp |
System Diagrams
Cards
Card: US1-C1
Title
Create database tables
Type
Task
Description
Create the database tables required to support creating a template and store their fields.
Acceptance Criteria
- The database tables from the defined data model exist.
- The models required to access these tables exist and are working.
Details
See the tables documented in the technical plan.
Card: US1-C2
Title
Create template list page
Type
Story
Description
As a business owner, I want a page that will list all templates I own, so that I can manage and work with them.
Acceptance Criteria
- A tool exists to list all templates the business owner is allowed to see.
Details
- Create the API endpoint
GET /api/v1/template
- Create a page to list the templates: Mockup
Card: US1-C3
Title
Create tool to add new template
Type
Story
Description
As a business owner, I want a way to add a new template, so that I can create a new data set.
Acceptance Criteria
- There is a way from the template list page to open the template add tool.
- The business owner is able to create new templates that they own.
- New templates show up in the template list.
Details
See the system diagram for creating a new template.
Card: US1-C4
Title
Set up production server and deployment
Type
Task
Description
Create a production webserver, and implement a deployment workflow to get our code into production.
Acceptance Criteria
- A server exists for
tailgunner.app
, running the latest main branch code. - New merges to main are deployed to the production server.