BookstoreApp is a modern mobile application developed using React Native and Expo, designed to offer users a seamless experience in discovering, managing, and interacting with a collection of books. Built with JavaScript on the frontend, it leverages Zustand for efficient and lightweight state management. The backend is powered by Express.js, with MongoDB serving as the database for storing and retrieving book data. The books are stored in a pdf links and is shared throughout the app where multiple users can access the resources of the books.
- 📖 Browse an extensive list of books with detailed information
- 🔎 Search and filter books by title, author, or genre
- ⭐ Mark favorite books for easy access
- 📝 Add personal notes for any book
- 🗂️ Global state handling using Zustand
- 🌐 Backend API integration for dynamic data
- 📱 Cross-platform (Android + iOS) via Expo
- ⚡ Smooth performance and clean UI
|
|
Important
Error:
- PDFs sometimes fail to load inside the mobile viewer with a Network / CORS error.
Cause:
- Some book links were served over HTTP instead of HTTPS,
- or the server did not include proper CORS headers (
Access-Control-Allow-Origin).
Solution:
- Enforced HTTPS links for all book resources.
- Updated the Express server to include:
Access-Control-Allow-Origin: *Access-Control-Allow-Methods: GET
- Added validation to reject insecure PDF URLs in the database.



