A social reading platform for discovering, tracking, and discussing your favorite books.
This project was built to explore a server-first, progressively enhanced architecture for modern web applications. The key objectives were:
- Minimize Client-Side Complexity: Build a robust and secure application by handling authentication, sessions, and data mutations almost entirely on the server.
- Embrace Progressive Enhancement: Ensure the core experience is functional with zero JavaScript, while layering on modern, real-time features for capable browsers.
- Prioritize Developer Experience: Leverage end-to-end type safety and a component-based architecture to create a maintainable and scalable codebase.
- Bun: This project uses Bun as its runtime and package manager. You can find installation instructions at https://bun.sh.
- Clone the repository:
git clone https://github.com/wtchnm/LibSpace.git
- Navigate to the project directory:
cd libspace - Install the dependencies:
bun install
- Run the development server:
bun run dev
- Astro 5 - Live Collections & Server Actions
- Better Auth - Server-side authentication
- Astro DB - Turso/SQLite persistence
- Open Library API - Book data integration
- Tailwind CSS v4 + TypeScript
- Server-side authentication - Pure server-side forms and sessions
- Type-safe actions - Full TypeScript form validation
- Live content collections - Dynamic book data loading
- Progressive enhancement - JavaScript-optional by design
- Performance optimization - Intelligent caching and lazy loading
- User profiles - Personal shelves and reading progress
- PWA capabilities - Offline support and app-like experience
- Search functionality - Find books by title, author, or ISBN
- Social features - Reviews, recommendations, and reading lists
Contributions are welcome! Please feel free to submit a pull request or open an issue.
MIT
