You can watch the tutorial on freeCodeCamp.org YouTube channel where I teach how to build this project.
- Platform: macOS app built with
react-native-macos
. - Functionality:
- Users can search for any books.
- Book details are fetched from the Google Books API.
- Users can click on any book to get a detailed view.
- Users can add books to one of the three bookshelves:
- Read
- Currently Reading
- Want to Read
- All bookshelves are stored in local storage to prevent data loss when reopening the app.
-
Search and Explore:
- Search for books using the Google Books API.
- View detailed information about any book.
-
Bookshelves Management:
- Categorize books into "Read", "Currently Reading", and "Want to Read" shelves.
- Bookshelves are stored locally, ensuring data persistence across app sessions.
-
AI-Powered Summaries:
- Generate book summaries using an AI feature.
-
State Management:
- The app uses
zustand
for efficient and simple state management.
- The app uses
-
Navigation:
React Navigation
is used to manage multiple screens and facilitate smooth navigation between them.
-
Data Fetching:
TanStack Query
is used for data fetching and caching, ensuring efficient and reliable data management.
-
TypeScript:
- The app is developed using
TypeScript
for type safety and better code maintainability.
- The app is developed using
First you need to have node and XCode install in your machine to run this project. Clone this project and open it on any Code Editor or IDE.
Now go to Google AI Studio to get the API key for Gemini AI. Copy this API key and paste it in .env file.
API_KEY=
Now run this command. It will install all the dependencies in your project.
yarn install
Then run this commands to install pods.
cd macos
pod install
Then run this commands to start the project.
yarn mac
- React Native
- Typescript
- React Navigation
- tanstack-query
- zustand
- async-storage
- Google generative-ai