Skip to content

sprksocial/client

Repository files navigation

Spark Social App

Welcome to the codebase for the Spark Social mobile app.

Get the Spark Social app:

Overview

This repo contains the mobile client for Spark Social. This is a Flutter app, written in Dart, using MaterialApp as its base.

Spark is an open source shortform social app for photos and videos built on AT Protocol. It's an open alternative to closed platforms like Instagram and Tiktok.

We support stories, reusable sounds, DMs, and we have a built-in photo and video editor powered by pro_image_editor.

Structure

The app is organized with a feature-first structure and uses Riverpod + GetIt + Freezed + AutoRoute. We also utilize the open source atproto.dart client libraries.

Project Layout

lib/
  main.dart
  src/
    core/        # shared infrastructure (network, routing, utils, theme, etc.)
    features/    # feature modules
      <feature>/
        data/
        providers/
        ui/
widgetbook/      # widgetbook workspace package
fonts/           # local font package
assets/          # local assets package

Resources

Spark Social is built on AT Protocol, a protocol for decentralized social networks. This allows for unprecidented amounts of user-autonomy and data ownership, and ensures no one entity is in charge of the network.

The lexicon schemas for the records published and APIs used by this app are under the so.sprk.* namespace.

The API server or "AppView" this app uses can be found in the server repo, and contains the sprk.so.* lexicon schemas used in this client.

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT Licensed. See LICENSE.