Giter Site home page Giter Site logo

book-manager's Introduction

DOCUMENTATION

How to run

  1. Run the Spring Boot LibraryApplication from IDE
  2. Create .env.local file inside frontend folder and paste inside NEXT_PUBLIC_API_ROOT=http://localhost:8080/api/
  3. Run npm run build to create a production build
  4. Run npm run start to start the frontend

Project info

Project is a book manager application. Users could see all the books, make CRUD operations with them, checkout books, delete and update books. Users could also add books to favorites so they could easily access them later.

Info

I chose to switch the frontend from angular to NEXTJS as I had no previous experience working with angular but did have working with React. I wanted to try out nextjs server side components and thought this project would be perfect for that.

I tried to implement everything from scratch. It came with its ups and downs. This way I could showcase my skills more but also couldn't finish all the tasks as I ran out of time. Only external packages I used were moment for time manipulation and react-icons for svg icons. For styling I used tailwind and implemented all of the designs myself.

I tried to keep my code clean and make components reusable to minimize code repetition.

Added functionality

Backend code was provided. I made all of the frontend.

  • Using backend api endpoint /getBooks, implement table of books view
  • Using backend api endpoint /getCheckouts, also implement the checkouts view
  • Implement paging and sorting
  • Implement individual book and checkout view
  • Implement checking out books
  • Implement saving / displaying favorite books for current user - using Localstorage
  • Implement a user-friendly way to display late checkouts

For me the hardest task was the implementation of paging and sorting as I haven't done this before and it worked a bit differently than I imagined. Other than that, everything went pretty smoothly.

All in all the task was interesting and I really learned a lot.

book-manager's People

Contributors

kasparpartel avatar cgiestonia 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.