Skip to content

mozilla/fxsharing

Repository files navigation

fxsharing

Prototype for Firefox content sharing — lets users create and share collections of links. Built with Django 6, Python 3.13, managed with uv.

Setup

Requires Docker Desktop. Everything else (Python, Postgres) runs inside Docker.

make setup   # generate .env with a random SECRET_KEY
make up      # build and start app and Postgres

The app will be available at http://localhost:8000. Migrations run automatically on make up.

Without Docker

Requires Python 3.13+, uv, and a running PostgreSQL instance.

make setup   # install dependencies and generate .env

Set DATABASE_URL in .env to your local Postgres connection string, e.g.:

DATABASE_URL=postgres://localhost/fxsharing

Then:

make migrate  # apply migrations
make run      # start the dev server

API

The /__lbheartbeat__, /__heartbeat__, and /__version__ endpoints are provided by the python-dockerflow library.

  • GET /__lbheartbeat__ — load balancer health check
  • GET /__heartbeat__ — application health check
  • GET /__version__ — deployed version info
  • POST /create_share — create a share (JSON body, see share_schema.py for schema)
  • GET /<uuid> — view share page
  • GET /api/<uuid> — share data as JSON

Prototype limitations

This is an early prototype. Known gaps before production:

  • No authentication (FxA integration planned)
  • No rate limiting
  • OpenGraph scraping is synchronous — will move to Celery workers
  • No tests

About

Curated content sharing in firefox

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors