the statusphere demo reworked into a vite/react app in a monorepo
1# Statusphere React
2
3A monorepo for the Statusphere application, which includes a React client and a Node.js backend.
4
5This is a React refactoring of the [example application](https://atproto.com/guides/applications) covering:
6
7- Signin via OAuth
8- Fetch information about users (profiles)
9- Listen to the network firehose for new data
10- Publish data on the user's account using a custom schema
11
12## Structure
13
14- `packages/appview` - Express.js backend that serves API endpoints
15- `packages/client` - React frontend using Vite
16
17## Development
18
19```bash
20# Install dependencies
21pnpm install
22
23# Option 1: Local development (login won't work due to OAuth requirements)
24pnpm dev
25
26# Option 2: Development with OAuth login support (recommended)
27pnpm dev:oauth
28```
29
30### OAuth Development
31
32Due to OAuth requirements, HTTPS is needed for development. We've made this easy:
33
34- `pnpm dev:oauth` - Sets up everything automatically:
35 1. Starts ngrok to create an HTTPS tunnel
36 2. Configures environment variables with the ngrok URL
37 3. Starts both the API server and client app
38 4. Handles proper shutdown of all processes
39
40This all-in-one command makes OAuth development seamless.
41
42### Additional Commands
43
44```bash
45# Build both packages
46pnpm build
47
48# Run typecheck on both packages
49pnpm typecheck
50
51# Format all code
52pnpm format
53```
54
55## Requirements
56
57- Node.js 18+
58- pnpm 9+
59- ngrok (for OAuth development)
60
61## License
62
63MIT