···33Parakeet is a [Bluesky](https://bsky.app) [AppView](https://atproto.wiki/en/wiki/reference/core-architecture/appview)
44aiming to implement most of the functionality required to support the Bluesky client. Notably not implemented is a CDN.
5566+## Status and Roadmap
77+Most common functionality works, with notable omissions being like/repost/follow statuses, blocks and mutes don't get
88+applied, labels might not track CIDs properly, label redaction doesn't work at all (beware!).
99+1010+Future work is tracked in issues, but the highlights are below. Help would be highly appreciated.
1111+- Notifications
1212+- Search
1313+- Pinned Posts
1414+- The Timeline
1515+- Monitoring: metrics, tracing, and health checks.
1616+617## The Code
718Parakeet is implemented in Rust, using Postgres as a database, Redis for caching and queue processing, RocksDB for
819aggregation, and Diesel for migrations and querying.
···11+create table bookmarks
22+(
33+ did text not null references actors (did),
44+ rkey text,
55+ subject text not null,
66+ subject_cid text,
77+ subject_type text not null,
88+ tags text[] not null default ARRAY []::text[],
99+1010+ created_at timestamptz not null default now(),
1111+1212+ primary key (did, subject)
1313+);
1414+1515+create index bookmarks_rkey_index on bookmarks (rkey);
1616+create index bookmarks_subject_index on bookmarks (subject);
1717+create index bookmarks_subject_type_index on bookmarks (subject_type);
1818+create index bookmarks_tags_index on bookmarks using gin (tags);
1919+create unique index bookmarks_rkey_ui on bookmarks (did, rkey);