Git Product home page Git Product logo

bookenv's Introduction

Bookenv

A Place For Bookworms


Why This Project


I randomly thought of this months before the first commit I made...I tried making some prototypes in figma and it felt unique and something I would use if it was actually made by real developers...you also don't see this in every github account and because of that I started coding this and it started taking shape. I just couldn't stop as it has been so fun to work on this...hopefully I can finish this project and share it with the world

What I have Learned From this project


firebase

I have learned a lot of firebase stuff from this project...almost all of the free stuff that firebase provides you

  1. firebase storage
  2. firebase auth
  3. firestore

absolutely amazing developer experience...I wouldn't be able to make this as a mern project as it would be too complex for my dumb brain

scss

I also learnt to use scss before this project and this is the first project I am using scss as a stylesheet...it's been amazing even though I am using the worst scss practices...

iconography

I had to learn iconography with Adobe Illustrator as I wanted to make all the assets (mostly) on my own...It was surprisingly one of the most time-consuming tasks I had to deal with in this project yet...I also learnt how to dynamically change icons appearances

problem solving

I already had a few encounters with problem solving but not as many and frequently in this project...oh boy! as this projects gets bigger and bigger it's getting harder to find the bugs and crush them...need something more than console.log() to solve issues now

working with files in javascript

I needed to learn some very basic stuff about files in javascript that will be very useful in my upcoming projects

reading the docs instead of stack overflow questions

I had a bad habit of avoiding the docs of any kind...if I ran into any sort of issues I would just search on google and go to a stack overflow questions...but the firebase docs were very neat and easy to understand and I found that reading the firebase docs was 10x times easier than trying to solve the problem half-knowingly copying code from stack overflow

Most difficult Issues I've dealt with


1. pdfRenderer get file:

I am using react-pdf to display the pdf and it was extremely hard for me to fetch the file from firebase storage in the correct encoding...I think this issue occurred because of my inexperience in working with files

2. firebase storage cors issue:

I had to do a little bit of google cloud configuring with google cloud cli...I've never done that...that's why I was a little concerned and I also encountered a few issues while configuring cors.json file...but I got there eventually

3. cancelling upload task:

this was a very easy fix but It took me I think a few days to come up with a solution...this simple problem made me think of quitting but thankfully I fixed it with the help of the lovely people from discord...turns out it was a scope related issue

4. navbar fixed display:

I had an embarrassingly hard time trying to fix my navbar at the top of my screen on scroll...I have sort of "fixed"(no pun intended) it...but it's far from an actual solution...I have found a really hacky way of getting the job done but it's gonna have to do for now

5. bookmarks:

this was a very recent issue I had to deal with...I had again a very hacky way of solving this issue...the code in PdfRenderer.js looks very weird because of this issue

bookenv's People

Contributors

nohanmohsin 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.