69 lines
1.2 KiB
Markdown
69 lines
1.2 KiB
Markdown
# List Thingy
|
|
|
|
A collaborative list management platform for shopping, todos, and other lists. Create lists instantly without signup, share with friends via UUID, and collaborate in real-time.
|
|
|
|
## Philosophy
|
|
|
|
- No accounts
|
|
- No ads
|
|
- No bloat
|
|
- Code that just works for 15 years
|
|
|
|
## Project Structure
|
|
|
|
This monorepo contains three components:
|
|
|
|
### [API](./api)
|
|
Pure PHP REST API with SQLite database. Handles all list and item operations with WebSocket support for real-time collaboration.
|
|
|
|
**Tech Stack:**
|
|
- Pure PHP 8.0+ (no frameworks)
|
|
- SQLite with PDO
|
|
- Custom PSR-4 autoloader
|
|
- .env configuration
|
|
|
|
[See API documentation →](./api/README.md)
|
|
|
|
## Quick Start
|
|
|
|
### API Server
|
|
|
|
```bash
|
|
cd api
|
|
cp .env.example .env
|
|
cd public
|
|
php -S localhost:8000
|
|
```
|
|
|
|
### Mobile Apps
|
|
|
|
Coming soon
|
|
|
|
## Features
|
|
|
|
- Create lists without signup
|
|
- Share lists via UUID
|
|
- Collaborative editing
|
|
- Real-time updates (WebSocket)
|
|
- Optimistic update and save
|
|
- Categorized items
|
|
- Quantity tracking
|
|
- Soft delete (items)
|
|
|
|
## API Endpoints
|
|
|
|
#### Lists
|
|
- POST /list
|
|
- GET /list/{uuid}
|
|
- PATCH /list/{uuid}
|
|
- DELETE /list/{uuid}
|
|
|
|
#### Items
|
|
- POST /list/{uuid}/item
|
|
- PATCH /list/{uuid}/item/{id}
|
|
- DELETE /list/{uuid}/item/{id}
|
|
|
|
## License
|
|
|
|
See [LICENSE](./LICENSE) file for details.
|