Coder Social home page Coder Social logo

joangavelan / corteza Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 3.97 MB

Keep track of the book(s) you read, save notes, ideas and more.

Home Page: https://corteza-book-tracker.vercel.app/

Shell 0.16% JavaScript 0.18% TypeScript 69.48% SCSS 30.18%
nextjs zustand react-hook-form tanstack-table scss

corteza's Introduction

Corteza

Track your reading progress and keep all your book notes organized in one place.

App Screenshot

Table of Contents

Motivation

When I started reading more often I quickly realized that I needed a way to keep the important information I read (or the ideas I came up with) stored in one place, because I am not a person who likes to underline his books with a pen, and even if I were, then I would have a hard time finding a specific line(s) I wanted to review out of all the underlined lines. Also, I often forget which was the last page I read and find myself having some trouble resuming my reading, I know there are some tools for this like bookmarks but I'm not into them.

Solution

Corteza is an application that helps you keep track of the books you read, save notes, ideas you may have while reading, your favorite quotes from the author or any other relevant information related to the book you are reading, all linked to the specific book you have selected to track. This information is saved in your computer's local storage and displayed through a table, you can easily find any of these entries using a dedicated search bar. You can also add the number of pages you read per session to keep track of the progress you have made so far and to inspire you to finish your books.

Features

  • Search books from the Google API.
  • Add/Delete books from your tracking list.
  • Book settings, edit technical details of your book.
  • Add entries to your books.
  • Sort entries by column (entry type, page number, etc).
  • Easily find an entry using the entry search bar.
  • Track the numbers of pages you've read.

How does it work?

  1. First you need to search for the book you want to track.
  2. Once found, select the book and click on "start tracking".
  3. If some data is missing in the book retrieved from the API, the application will prompt you to fill in the missing fields for better tracking.
  4. Once all the necessary data is available, you'll be redirected to the book tracking page.
  5. Start adding entries, these can be any kind of information you find relevant to your book: notes, ideas, quotes, etc.
  6. At the end of your reading session add the number of pages you have read and you'll see your progress reflected in a circular graph along with the percentage of the book you have completed.

Demo

Here is the link to the working app: https://corteza-book-tracker.vercel.app/

Technologies

  • Next.js - A React framework that gives you building blocks to create web applications.
  • React Hook Form - Performant, flexible and extensible forms with easy-to-use validation.
  • TanStack Table - Headless UI for building powerful tables & datagrids.
  • Zustand - A small, fast and scalable state-management solution.
  • SCSS - Pre-processor that extends some of the features of the CSS language.

Lessons Learned

  • I learned that working with css in react the traditional way (creating and importing files for each module, making up class names for everything, etc.) can be time consuming, exhausting and ultimately expensive. I realized I needed a better way to do this, so I started exploring solutions like tailwindcss for my next project.
  • I noticed that the amount of files in my project started to grow considerably and my source directory felt bloated and messy, that's when I told myself it was time to learn best practices on maintenance, scalability and clean architecture.
  • Using conventional commits helped me better understand how to group my code and be more organized with the work I do.

Feedback

If you wish to provide any feedback or just to have a little chat you can contact me through the following email: [email protected].

corteza's People

Contributors

joangavelan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.