Skip to content

borgesis95/home-library

Repository files navigation

Home Library

Introduction

This project has been designed for web programming class at University of Catania .The goal of this application is help people to managing and organising Book's collection in their home. It will help users to create libraries and split them into shelf. Also you can add book into your library typing just ISBN of the book.

Motivations

If in your house you have a plenty of books, maybe will be tedious find out where is the book that you would like read right now. Also, libraries could have different size and you want to split up in bookshelves. This applications helps to do it you can :

  • Create your account.
  • Sign in.
  • Add library.
  • Add bookshelf.
  • Add book and assign it to bookshelf.
  • Filter all your books and understand where is book you are looking for.
  • Share your book's list with your friends.

Getting started (BE)

Make sure to have:

First of all you have to clone the repo:

git clone https://github.com/borgesis95/home-library.git
cd home-library

Install dependencies:

npm run install

Into the folder you can find env.example file which you can update in order to setup your local environment

cp .env.example .env

Start application with :

npm run start

Getting started (FE)

Make sure to properly configured backend side .

First of all you need to clone the repo

cd client

Install dependecies :

npm run install

Start application with :

npm run start

Folders structure

./src contain follow folders.


./src
├── client          # contain client (react) application
├── @types          # tpyes extensions for TS.
├── config          # configuration file for logging (winston) and passport
├── controllers     # This folder container books, library, and User controller.
├── middlewares     # There are two middleware which handles error and authentication
├── models          # Mongoose schemas.
├── routes
├── services        # Files on it , handles BL of the application.
└── utils           # utils Function.

API

All API are available as postman collection here Postman-collection.

Main features

  • Logging: For the logging within this app has been used winston which is logging library where you can customize log visualization.

  • Errors handling: Express already has its default error-handling middleware, however i decided to add a pretty straightforward custom middleware that log errors inside error.log.

About

App that allow users to handle and organize their books collections

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages