MyBooks is a Progressive Web App (PWA) designed to help users manage their physical library at home. Built with SvelteKit, Tailwind CSS, and DaisyUI for styling, the app leverages SupaBase for the backend. Users can track their book collection, including details about each book and its author. The application is designed to be self-hosted, ensuring privacy and control over personal library data.
-
PWA Support: The application is a Progressive Web App, allowing users to install it on their devices for an app-like experience, including offline access.
-
Mobile-First Design: The user interface is optimized for mobile devices, ensuring a seamless and user-friendly experience on various screen sizes.
-
Fast and Friendly: The application is designed to be super-fast and user-friendly, providing a smooth experience for users managing their personal libraries.
- Authors Table
- Name = my-books-demo-authors
Col name default value type id auto increment int8 created_at auto generated datetime died null varchar born null varchar image null text birth_place null varchar
- Name = my-books-demo-authors
- Books Table
- Name = my-books-demo-books
Col name default value type id auto increment int8 created_at auto generated datetime title null varchar tags null text cover null text started null varchar finished null varchar description null text genres null varchar language null varchar page null int8 authorId author_id refrence
- Name = my-books-demo-books
-
Clone the repository:
git clone git@github.com:Korak-997/MyBooks.git
-
Change into the project directory:
cd MyBooks
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory and configure it with your Appwrite Cloud credentials:VITE_SUPABASE_URL=YOUR_URL VITE_SUPABASE_KEY=YOUR_KEY
-
Run the application:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
to access the application.
- Navigate to the
Books
Page (HomePage). - Click on the
+
button. - Fill in the required information such as title, pages, description, language, genres...
- Click
Save
to add the book to your library.
- Navigate to the
Authors
page. - Click on the
+
button. - Provide the author's name, birthplace, birthday, and death date if applicable.
- Click "Save" to add the author to your library.
NOTE: Before adding a
Book
you should first add itsAuthor
otherwise you will not be able to add the book
- If an author has multiple books, you can connect them in a one-to-many relationship by associating the books with the respective author.
- Enhance application security.
- Allow users to generate QR codes within the app.
- Implement the ability to edit authors or books.
- Let the application be used by multiple users
- One library instance (one hosted webapp) should be created
- An admin or multiple admins will be able to Create,Edit,Update,Delete books and authors
- Different users would be able to follow their own reading progress
- Allow users to share their stats
- Finished books
- Reading times
- Favorites
- For any issues or feature requests, please open an issue. Contributions are welcome through pull requests.
- Feel free to use or develop the project forward
- Feel free to make suggestions
This project is licensed under the MIT License.
NOTE: This a side project and because of my fulltime position i do not have to work on it often. So it may take a while until it get updates. I am making sure to keep main branch bug free. So only tested features or updates will be merged,