Welcome to Striae Developer Documentation

This documentation provides comprehensive guidance for developers working on Striae, a cloud-native forensic annotation application for firearms examination.

Quick Start

New to Striae? Start here:

  1. Project Overview - Understand what Striae is and does

  2. Installation Guide - Set up your development environment

Core Documentation

Architecture and Design

Development Guides

Documentation Organization

By Experience Level

New Developers

Experienced Developers

By Topic

Frontend Development

Backend Development

Document Summaries

Project Overview

High-level introduction to Striae, including project structure, tech stack, and key differentiators. Essential reading for understanding the project's purpose and scope.

Installation Guide

Detailed installation and setup instructions for development and production environments. Covers prerequisites, configuration, and deployment procedures.

Development Protocol Guide

Comprehensive development workflow guide covering repository structure, commit guidelines, pull request process, code quality standards, and contribution protocols. Essential reading for all contributors.

Architecture Guide

In-depth system architecture documentation covering frontend, backend, data layer, and security architecture. Includes component relationships and data flow diagrams.

Component Guide

Frontend-focused guide covering React component architecture, state management patterns, styling approaches, and development best practices.

API Reference

Complete API documentation for all Cloudflare Workers, including endpoints, authentication, request/response formats, and usage examples.

Security Guide

This guide covers security practices, authentication flows, and security considerations for developers working on the Striae project.

Error Handling Guide

Comprehensive guide covering error handling patterns, centralized error services, UI error display, and best practices for both frontend and backend error management.

Environment Setup

Detailed guide for configuring environment variables, API keys, and service integrations across development, staging, and production environments.

Contributing to Documentation

Documentation Standards

  • Markdown Format: All documentation uses Markdown

  • Clear Structure: Use headers, lists, and code blocks appropriately

  • Code Examples: Include working code examples where relevant

  • Screenshots: Add screenshots for UI-related documentation

  • Regular Updates: Keep documentation current with code changes

How to Contribute

  1. Identify Gaps: Look for missing or outdated information

  2. Create/Update: Write clear, concise documentation

  3. Review Process: Submit documentation changes via pull request

  4. Testing: Verify that examples and procedures work correctly

Documentation Guidelines

Writing Style

  • Use clear, concise language

  • Write for your target audience (new developers, experienced developers, etc.)

  • Include practical examples

  • Explain the "why" behind decisions, not just the "how"

Structure

  • Start with overview/summary

  • Use consistent heading hierarchy

  • Include table of contents for long documents

  • End with next steps or related documentation

Code Examples

  • Provide complete, working examples

  • Include error handling where appropriate

  • Comment complex code sections

  • Use TypeScript for type safety demonstration

Maintenance and Updates

Regular Review Schedule

  • Monthly: Review for accuracy and completeness

  • Quarterly: Update with new features and changes

  • Release Cycles: Update for major version releases

  • As Needed: Update for critical changes or security updates

External Resources

Official Documentation

Community Resources

Training Materials

Getting Help

For Documentation Issues

  • Create issue in GitHub repository

  • Ask in Discord #documentation channel

  • Contact documentation maintainers directly

For Development Issues

  • Check existing documentation first

  • Search GitHub issues

  • Ask in Discord #development channel

  • Create new issue if needed

For Security Issues

  • Follow responsible disclosure process

  • Contact security team directly

  • Do not discuss security issues in public channels

Internal Developer Program

If you're interested in becoming an internal developer with enhanced access and privileges:

  • Contact: Stephen at dev@striae.org

  • What You'll Receive:

    • Full credentials and configuration files for development

    • Direct contribution access to striae-org/striae-dev repository

    • Access to https://dev.striae.org for direct testing

    • Enhanced development privileges and internal resources

    • Private communication channels on Discord

Internal developers work closely with the core team and have streamlined access to development infrastructure and testing environments.


Updated on