No description
  • HTML 44%
  • CSS 26.3%
  • Python 25.1%
  • JavaScript 4.6%
Find a file
2026-03-02 17:52:53 +00:00
app initial commit 2026-03-02 17:52:53 +00:00
tests initial commit 2026-03-02 17:52:53 +00:00
app.py initial commit 2026-03-02 17:52:53 +00:00
CLAUDE.md initial commit 2026-03-02 17:52:53 +00:00
poetry.lock initial commit 2026-03-02 17:52:53 +00:00
pyproject.toml initial commit 2026-03-02 17:52:53 +00:00
README.md initial commit 2026-03-02 17:52:53 +00:00

LongStoryDating

A conversation-first dating app that emphasizes expression and intentionality.

Features

  • Rich, expressive profiles with up to 3,000 words or 15,000 characters
  • Markdown formatting for structure and readability
  • Photo and audio introduction support
  • Message length requirements that scale with profile depth
  • Location-based discovery with configurable radius
  • Rate limiting to encourage thoughtful messaging
  • Accessibility-first design (WCAG 2.1 compliant)
  • Progressive enhancement with HTMX

Eventual features

  • Matchmaking with AI based on analysis of profiles for similarity and compatibility between users. Matchmaking will be an external project.

Development

Prerequisites

  • Python 3.9+
  • Poetry
  • PostgreSQL
  • Redis

Setup

  1. Install dependencies:

    poetry install
    
  2. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration
    
  3. Initialize the database:

    poetry run flask db upgrade
    
  4. Run the development server:

    poetry run flask run --debug
    

Testing

Run the test suite:

poetry run pytest

Run with coverage:

poetry run pytest --cov=app --cov-report=html

Code Quality

Format code:

poetry run black app/ tests/

Lint code:

poetry run flake8 app/ tests/

Type checking:

poetry run mypy app/

Architecture

  • Backend: Flask with SQLAlchemy and Redis
  • Frontend: Jinja2 templates with HTMX for progressive enhancement
  • Database: PostgreSQL for primary data, Redis for caching and rate limiting
  • Testing: pytest with factory-boy and Playwright for E2E tests

License

GPLv3