···11# clippr
2233-social bookmarking for atproto
33+Social bookmarking for the AT Protocol.
4455## current status
6677-we are currently working on completing the appview first before moving on to the frontend or any other packages.
77+Our current focus is on completing the AppView first before moving on in full earnest to the frontend or any other
88+packages; however, some may be developed in tandem if necessary.
8999-a lexicon package is available for those using atcute, however, it is still under heavy development. we do not recommend
1010-using it in any way until the appview is ready.
1010+The AppView currently has support for indexing records that are created, updated or deleted, some basic queries and DID
1111+service proxying. Authenticated endpoints and most other queries are currently not implemented.
1212+1313+The frontend has OAuth authentication and the ability to view and edit profiles, but is otherwise empty.
11141212-the frontend has no interactivity and is basically just a mockup.
1515+A lexicon package is available for those using [atcute](https://github.com/mary-ext/atcute), but it is still under
1616+heavy development. We do not recommend
1717+using it in any production environment until the AppView is functionally complete.
13181419## what's in here?
15201616-the project is sorted into different sections, with each root-level folder signifying a package.
2121+The project is sorted into different sections, with each root-level folder signifying a package.
17221818-each section will usually contain its own README.md file dedicated to it, going into more detail about that specific
2323+Each section will usually contain its own README.md file dedicated to it, going into more detail about that specific
1924package.
20252126| package | description |
+16-16
backend/README.md
···11# @clipprjs/server
2233-typescript implementation of clippr appview using ~~bun~~ deno and hono
33+TypeScript implementation of the Clippr AppView, using ~~bun~~ NodeJS and Hono.
4455-## run and develop
55+> ## Why not Bun?
66+> We currently aren't using Bun due to some compatibility errors. A migration to Bun is planned in the future,
77+> preferably before launch.
88+99+## Start development server
610711```shell
812pnpm install
1313+cp config.example.toml config.toml # Customize as necessary
914pnpm run db:push
1015pnpm run dev
1116```
12171313-open http://localhost:9090 and enjoy
1818+Open http://localhost:9090 and enjoy
14191515-## build for production
2020+## Build for production
16211722```shell
1823pnpm install
2424+cp config.example.toml config.toml # Customize as necessary
1925pnpm run db:push
2026pnpm run build
2127pnpm run start
···23292430## current status
25312626-right now we're not running on bun because there are
2727-[some issues with partysocket](https://github.com/oven-sh/bun/issues/18807), which haven't been
2828-fixed yet and which the jetstream library we use depends on for the moment. once it has been fixed,
2929-we do plan to use bun over node in the future.
3030-3131-### checklist before it's usable
3232-3332- ✅ Ingesting content from the firehose (using Jetstream)
3434-- ✅ Creating the lexicon documents and validating content that comes in from the firehose
3333+- ✅ Validating incoming content according to the Lexicon schema
3534- ✅ Indexing valid content from the firehose into a database
3636-- Handling OAuth authentication (public OAuth for the moment)
3737-- Creating responses to API calls
3838-- Create records through the API
3939-- Interact with the frontend
3535+- ✅ Support for DID service proxying and Nodeinfo
3636+- 🟡 API documentation
3737+- 🟡 Creating responses to unauthenticated API calls
3838+- 🟡 Interactions with the frontend
3939+- 🔴 Creating responses to authenticated API calls
+10-1
frontend/README.md
···4455## development
6677+If you are testing the frontend in conjunction with the AppView, you might want to change the following:
88+99+* OAuth automatically adapts to whether the frontend is built or in dev mode.
1010+* ``VITE_CLIPPR_APPVIEW`` is set to the defaults for both production and development, however, if you are hosting the
1111+ appview from another location, you will need to change this.
1212+713```shell
814pnpm install
99-cp .env.example .env # Modify this if necessary
1015pnpm run dev
1116```
12171318## deployment
1919+2020+If you plan to deploy the frontend and use another AppView or to add/remove OAuth scopes, you will have to modify
2121+``public/oauth/client-metadata.json`` and the ``VITE_CLIPPR_APPVIEW`` environment variable. There are plans to add a way
2222+to change what AppView DID the frontend proxies its requests to inside the frontend, but not before launch.
14231524```shell
1625pnpm run build
+1-1
lexicons/README.md
···5858import type {} from '@clipprjs/lexicons';
5959```
60606161-All the XRPC operations should be visible in the client afterward.6161+All the Lexicon record schemas and XRPC operations should be visible in the client afterward.