Skip to content

Novelit is an easy-to-use full-stack app that offers users a stable foundation for organizing comprehensive book information. For anyone who needs to keep a customized database of books, including librarians and book aficionados, this project is a great resource.

License

Notifications You must be signed in to change notification settings

omrfrkcpr/novelit

Repository files navigation

Forks Stargazers Issues MIT License LinkedIn


Logo

Novelit

Novelit is a user-friendly full-stack application designed to provide users with a robust platform for managing detailed information about books. This project is an excellent tool for book enthusiasts, librarians, and anyone who needs to maintain a personalized database of books. With its modern tech stack, efficient search capabilities, and intuitive UI, Novelit stands out as an essential tool for book lovers and professionals alike.
Explore the docs »
Novelit API »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Structure
  3. Features
  4. Technical
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

novelit

(back to top)

Built With

(back to top)

Structure

novelit
  ├── public
  ├── src/
  |     ├── assets // (image,gif,svg...)
  |     ├── components
  |     |        ├── BookCard.tsx
  |     |        ├── BookForm.tsx
  |     |        ├── BookList.tsx
  |     |        ├── BookSettings.tsx
  |     |        ├── Loading.tsx
  |     |        ├── Navbar.tsx
  |     |        ├── SearchBar.tsx
  |     |        └── SingleBookCard.tsx
  |     ├── context
  |     |     └── BookContext.tsx
  |     ├── helpers
  |     |     └── functions.tsx
  |     ├── hooks
  |     |     └── useWindowSize.tsx
  |     ├── pages
  |     |     ├── Home.tsx
  |     |     ├── NotFound.tsx
  |     |     └── SingleBook.tsx
  |     ├── router
  |     |     └── routes.tsx
  |     ├── App.tsx
  |     ├── index.css
  |     ├── main.tsx
  |     └── vite-env.d.ts
  ├── .gitignore
  ├── index.html
  ├── LICENSE
  ├── package-lock.json
  ├── package.json
  ├── postcss.config.js
  ├── README.md    // Project documentation
  ├── tailwind.config.js
  ├── tsconfig.json
  ├── tsconfig.node.json
  ├── vercel.json
  └── vite.config.ts

See the open issues for a full list of proposed features (and known issues).

(back to top)

Features

Book Management:

  • Users can add detailed information about their favorite books, including title, author, genre, publication date, summary, and more.
  • The application allows users to search for specific books using various filters and criteria.
  • Users can edit and update the information of any book in their collection.
  • Books can be deleted from the database if they are no longer needed.

Search and Filter:

  • A powerful search functionality enables users to find books quickly and efficiently.
  • Filters can be applied to narrow down search results based on specific attributes like genre, author, or publication year.

User Interface:

  • The frontend is built with React and TypeScript, providing a modern and responsive user experience.
  • TailwindCSS is used for styling, ensuring a clean and consistent design throughout the application.
  • State management is handled using ContextAPI, allowing for efficient data handling and component communication.

Backend:

  • The backend server is created using Node.js with Express.js, providing a robust and scalable architecture for handling requests and managing the database.
  • RESTful APIs are implemented to facilitate seamless communication between the frontend and backend.

Tools and Technologies:

  • Postman is used for API testing, ensuring that all endpoints are functioning correctly and efficiently. The application is hosted on Render, a reliable hosting service that ensures high availability and performance. Deployment:

The project is deployed on Render, allowing for easy access and scalability. Render's platform provides automatic builds and deployments, making the development process smoother.

(back to top)

Technical

Frontend:

  • React: A JavaScript library for building user interfaces.
  • TypeScript: A statically typed superset of JavaScript.
  • TailwindCSS: A utility-first CSS framework for rapid UI development.
  • ContextAPI: For managing state across the application.

Backend:

  • Node.js: A JavaScript runtime built on Chrome's V8 engine.
  • Express.js: A minimal and flexible Node.js web application framework.
  • SQLite: A lightweight, disk-based database that doesn’t require a separate server process. Ideal for small to medium-sized applications.
  • Sequelize: A promise-based Node.js ORM for SQLite, providing a straightforward API for interacting with the database and managing data models.

Tools:

  • Postman: An API client for testing and developing APIs.
  • Render: A cloud platform for hosting web applications.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Support
Repo Link
Demo

(back to top)

Acknowledgments

(back to top)

About

Novelit is an easy-to-use full-stack app that offers users a stable foundation for organizing comprehensive book information. For anyone who needs to keep a customized database of books, including librarians and book aficionados, this project is a great resource.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published