/InnoBookCrossing

Team project within the course of Software System Design and Analysis.

Primary LanguageJavaScript

📗 InnoBookCrossing - Application for sharing books at Innopolis

🎥 Demo

demo.mp4

A detailed description of the demo video is provided in section Code below.

If the video is canseled after book edition, please go to the ProjectDemo folder in the root of repositiry and download a full version.

🔍 General Information

Description

The application is designed to help people share books with each other. All you need to do - register on a website using your Telegram Alias.

The motivation of the project

We all have books that we are not currently reading. Why should a book lay on a shelf if it can be useful for another person? Using the InnoBookCrossing application book owners can easily borrow available books and book lovers take it!

Features

  • User can publish books which he\she has.
  • User can borrow the book, if it is available or wait in a queue otherwise.
  • User can search for an interesting book using filters.

Frameworks or technology

  • Java
  • Spring
  • Swagger
  • Javascript
  • React

Authors

  • Dariya Vakhitova
  • Alexandr Kedalo
  • Ruslan Nurutdinov
  • Roman Mukhtarov

📍 Requirement Engineering

Requirment Engineering Documentation containing:

  • Roles and Responsibilities
  • Functional Requirments
  • User Stories
  • Non-functional Requirments
  • Buisness Goals
  • Project Glossary
  • Software Development Plan
  • Prototype

📜 Design Documentation

Design Documentation containing:

  • UML Diagrams
  • SOLID Principles
  • REST Principles
  • Design Patterns

🔨 Architecture

Architecture Documentation containing:

  • Extencive description of the project's architecture
  • Static view Diagram
  • Dynamic view Diagram

📅 Management Tools

  • Our project was managed with the tool Trello In the link, you will be able to find task distribution, the responsibility of each member.

💻 Code

Screenshots with Static analyzers

We use SonarLint Plugin to check our code.

Back-end: we have 12 files, all of them are written according to Java-code conventions.

image

Front-end: we have 30 files, all of them are written according to JavaScript-code conventions.

image

Test coverage

We use manual testing to test our website.

Demo

In the demo video, the following features are demonstrated:

  • Unregister user is able to see all the books on the main page and perform a search by book's title. Other functions of the website are unavailable for unregister user.
  • Register user is able to do the same functions as unregister user. In addition, the registered user can upload the book, edit it.

👣 Installation Steps

  1. Download the contents of this Git repository
  2. Go to "front-end" directory
  3. Run "nmp install" command in this directory
  4. Run "nmp start" command
  5. Open http://localhost:3000 to view it in the browser