Welcome to the GitHub repository of Book Store App! This project is a robust web application built with React, showcasing a user-centric interface with secure authentication, dynamic routing, and real-time database integration.
- React Context API Manages global state across the application, providing a seamless state management solution without third-party libraries.
- React Router Facilitates nested layouts and dynamic routing throughout the application.
- Private Routes Ensures secure access to authenticated user pages using Firebase authentication.
- Firebase Authentication Manages user authentication processes, providing secure log-in and registration features.
- Firebase Realtime Database Stores and syncs data in real time, enhancing the user experience with instant updates.
- Material-UI Offers a comprehensive suite of UI tools to create intuitive and responsive designs.
- UUIDv4 Generates unique identifiers for entities, ensuring data integrity and uniqueness.
- Toastify Provides elegant notifications and alerts for user interactions.
- Swiper Implements dynamic carousels for a visually engaging user experience.
What you need to install the software:
- Node.js
- npm (Node Package Manager)
- A Firebase account
To get started with the repository, follow these steps:
- Clone the repository to your local machine using the following command:
- Navigate to the project directory you choose:
- Install project dependencies using npm:
git clone https://github.com/asyylz/Book-Store.git
cd book-store
npm install
- Create a Firebase project in the Firebase console.
- Enable Authentication and configure the Realtime Database.
- Place your Firebase config in a .env file at the root of your project:
FIREBASE_API_KEY=<your-api-key>
FIREBASE_AUTH_DOMAIN=<your-auth-domain>
FIREBASE_DATABASE_URL=<your-database-url>
FIREBASE_PROJECT_ID=<your-project-id>
FIREBASE_STORAGE_BUCKET=<your-storage-bucket>
FIREBASE_MESSAGING_SENDER_ID=<your-messaging-sender-id>
FIREBASE_APP_ID=<your-app-id>
FIREBASE_MEASUREMENT_ID=<your-measurement-id>
npm start
Reach outcome site here
Contributions to the project are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.