Welcome to Bookify! This project harnesses the capabilities of Firebase and React to provide a seamless platform for book transactions, featuring an interactive and modern design for an enhanced user experience.
Bookify is designed with a focus on user experience and efficiency, utilizing Firestore for robust and scalable data storage. As a serverless application, Bookify offers unparalleled flexibility and scalability, making it an ideal choice for users seeking a modern and efficient book trading solution. Additionally, the integration of shadcn ensures a polished and dynamic user interface, enhancing the overall experience.
Bookify.Demo.mp4
- React: A powerful JavaScript library for building user interfaces.
- FirebaseContext: A comprehensive app development platform for managing databases, authentication, and hosting.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- Shadcn/UI: A UI component library for building beautiful interfaces.
- JavaScript: The programming language that powers the web.
- PostCSS: A tool for transforming CSS with JavaScript plugins.
- ESLint: Code linting to maintain consistent code quality.
- Prettier: Code formatting to ensure a consistent code style.
- Node.js (>= 20.0.0)
- npm (>= 10.0.0) or yarn (>= 1.22.0)
-
Clone the repository:
git clone https://github.com/RanitManik/Bookify.git cd bookify
-
Install dependencies:
npm install
or
yarn install
To configure FirebaseContext for this project:
- Go to the FirebaseContext Console.
- Create a new project or use an existing one.
- Navigate to the project settings and locate your FirebaseContext configuration.
- Copy the configuration details and replace the placeholders in your
.env.local
file.
In the project directory, you can run the following scripts:
Runs the app in development mode. Open http://localhost:5173 to view it in the browser.
Builds the app for production to the dist
folder. It correctly bundles React in production mode and optimizes the
build for the best performance.
Lints the codebase using ESLint. This ensures your code adheres to specified linting rules and conventions. It
checks .js
and .jsx
files, reports any unused disable directives, and sets the maximum number of warnings to 0.
Previews the production build locally. Useful for testing the production build before deploying.
Formats the codebase using Prettier. It targets all .js
and .jsx
files within the src
directory to ensure
consistent code formatting.
The project structure is as follows:
bookify/
├── docs/ # Project Documentation
│ ├── firestore structure # Firestore database architecture
├── public/ # Public static assets
├── src/ # Main source code
│ ├── assets/ # Application assets (e.g., images, icons)
│ ├── components/ # Reusable React components
│ │ ├── ui/ # UI components (e.g., buttons, forms)
│ │ └── block/ # Custom reusable components
│ ├── context/ # React contexts for state management
│ ├── hooks/ # Custom React hooks
│ ├── index.css # Global styles
│ ├── App.jsx # Main application component
│ └── main.jsx # Entry point for React application
├── .env.example # Template for environment variables
├── .gitignore # Files and directories to be ignored by Git
├── .prettierrc # Prettier configuration file
├── index.html # HTML template for the app
├── LICENSE # License information
├── package.json # Project dependencies and scripts
├── package-lock.json # Lock file for dependencies
├── postcss.config.js # PostCSS configuration
├── README.md # Project documentation
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
├── tsconfig.node.json # TypeScript configuration for Node.js
└── vite.config.js # Vite configuration file
We welcome contributions to enhance the Bookify project. To contribute:
-
Fork the repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature-name
-
Make your changes and commit them with clear and descriptive messages.
-
Push your changes to your fork:
git push origin feature-name
-
Create a pull request to the main repository, detailing the changes and enhancements you have made.
Social Media | Username | Link | |
---|---|---|---|
ranitmanik.dev@gmail.com |
|||
Ranit Manik |
|||
ranit_manik_ |
|||
RanitKumarManik |
Feel free to reach out if you have questions or just want to chat about web adventures!
This project wouldn't be possible without the collaboration and resources of the developer community. Thanks to the community and tools like React and Firebase. Special appreciation goes to friends and family. I hope it inspires further learning.
Thank you for reviewing Bookify! Happy coding! 📚🚀