A project tracker for decentralized social media platforms, clients, and tools
1# Social Meshes
2
3A comprehensive directory and discovery platform for decentralized social networking projects, clients, and tools across multiple protocols including AT Protocol and ActivityPub. It provides an interface for browsing, searching, and filtering across the two major federated/decentralized networks.
4
5Most of this code is written by Claude. If you see anywhere you wish to contribute feel free to open a PR! If you see any project data that needs to be changed or you are a project owner and wish for a description / owner to be changed feel free to submit PR's!
6
7This is a work in progress and not yet hosted anywhere.
8
9
10## Project Structure
11
12```
13socialmeshes-app/
14├── public/
15│ ├── data/
16│ │ └── projects.json # Project database
17│ └── logos/ # Project logo images
18├── src/
19│ ├── components/ # React components
20│ │ ├── TopBar.tsx # Navigation and network selector
21│ │ ├── FilterToolbar.tsx # Search and filter controls
22│ │ ├── ProjectGrid.tsx # Grid layout for projects
23│ │ └── ProjectCard.tsx # Individual project cards
24│ ├── types/
25│ │ └── project.ts # TypeScript type definitions
26│ ├── utils/
27│ │ └── projectUtils.ts # Filtering and sorting logic
28│ ├── App.tsx # Main application component
29│ └── main.tsx # Application entry point
30└── package.json # Dependencies and scripts
31```
32
33## Getting Started
34
35### Prerequisites
36
37- Node.js 18+ and npm
38
39### Installation
40
411. Clone the repository:
42```bash
43git clone https://tangled.sh/@bretton.dev/socialmeshes-app
44cd socialmeshes-app
45```
46
472. Install dependencies:
48```bash
49npm install
50```
51
523. Start the development server:
53```bash
54npm run dev
55```
56
574. Open your browser and navigate to `http://localhost:5173`
58
59### Available Scripts
60
61- `npm run dev` - Start the development server
62- `npm run build` - Build for production
63- `npm run preview` - Preview the production build
64- `npm run lint` - Run ESLint for code quality
65
66
67## Contributing
68
69Contributions are welcome! To add a new project to the directory:
70
711. Add the project data to `public/data/projects.json`
722. Add the project logo to `public/logos/` (preferably SVG or optimized PNG)
733. Submit a pull request
74
75## License
76
77This project is open source. Please check the repository for license details.