Bukie is a project showcasing the use of TypeScript, React, Emotion, Material UI, and Apollo Client in a real-world application. It features a curated list of science fiction books, with a search engine and filters by title and author for easy navigation.
The application supports both light and dark themes, adapting to user browser preference, and offers infinite scrolling on the book list. User authentication is handled via Auth0.
The project leverages Semantic Release for automated versioning and releases, and Biome for code format and linting. It also benefits from the fast development and build times provided by Vite.
📚 Curated list of science fiction books
🎛️ Filters by title and author
🚀 Built with TypeScript and React
💅 Styled with Emotion and Material UI design system
🌓 Supports light and dark themes (defaults to user browser preference)
📜 Infinite scrolling on the book list
🔒 User authentication via Auth0
🚦 Automated versioning and releases with Semantic Release
🔧 Code linting and formatting with Biome
🚀 Fast development and build times with Vite
📡 Data fetching with Apollo Client
Then, follow these steps:
Clone the repository:
git clone git@github.com:amalv/bukie.git
Install the dependencies:
npm install
Update the .env.sample
file with your environment variables:
VITE_API_URL_DEVELOPMENT= # Usually http://localhost:3000 from the companion project
VITE_AUTH0_DOMAIN=
VITE_AUTH0_CLIENT_ID=
Rename the .env.sample
to .env
Start the development server:
npm run dev
This project is licensed under the MIT License.