1.Introduction

The purpose of this document is to present a detailed description of the BariBhara. It will explain the purpose and features of the system. This SDS will explain all the important UML Diagrams, Such as: Class Diagram, Sequence Diagram. It will also contain ER Diagram and High Level componant design which will help the developers to code first and more accurately. This document is intended for both the stakeholders and the developers of the system.


2.Document Conventions

We make our SDS in two formats, html viewable format and printer friendly format. But both format are created using only html and css. For html viewable format we used 'open-sans', sans-rerif font and we keep font size 16px. On the other hand, for the printable format the document is styled according to standard IEEE SRS template. 'Times New Roman', times, serif font. Here for heading we use Times New Roman 18 and Times New Roman 14 for sub-heading and Arial 11 for body and paragraph.


3.Description of Design Components

3.1Server Side

  • Web: python django framework
  • Mobile App: Android, firebase

3.2Client Side

  • Web: HTML, CSS and JavaScript
  • Mobile App: Android, Java

3.3Third Party Services

  • Web: REST API
  • Mobile App: Wikitude JavaScript SDK (for AR)

4.High Level Component Design

High Level Component

We will scrap data using python django and store it in a relational database. Then we connect our database using REST API. Then our Android App and Web App will be connected with same database. when user will do any action data will fetched accordingly in Web and Android App UI.


5.Class Diagram

Class Descriptions

  • User: User class is an abstract class. It stores all the information of a User. There is no physical existance of this class. It is a parent class. It has two child class or subclass. They are: Tenant and House Owner.
  • Tenant: Tenant class is a child class of User Class. It inherited all the attributes and methods of User Class. It stores all the Information of a Tenant.
  • House Owner: House Owner class is a child class of User Class. It inherited all the attributes and methods of User Class. It stores all the Information of a House Owner.
  • User Action: User Action class is an abstract class. User Action acts on a User. It controls what activity a User can do. There is no physical existance of this class. It is a parent class. It has three child class or subclass. They are: Post Advertise, View Advertise, Search Advertise.
  • Post Advertise: It is a child class of the User Action class. It helps a House Owner how a rental will posted.
  • View Advertise: It is a child class of the User Action class. It helps a House Owner or Tenant how they can view an advertise.
  • Search Advertise: It is a child class of the User Action class. It helps a Tenant how a rental will be searched.
  • Rental Advertise: It stores all the information on a Rental Ad. It stores information like when will ad posted and how long it will stay. It has assoiciation with all the User Action subclass and flat class.
  • Flat: It stores all the information about a flat. It stores information like the location of the flat, how many room and bathrooms etc. It has assoiciation with House Owner and Rental Ads. Beacause every house owner can own one or many flats and every flat will have one and only rentals ad.

6.Sequence Diagram

(Hover Over the image, you will see a slider at the bottom of the image. Now click the forward or backword button to see all the Sequence Diagrams one by one for all the 7 Use Cases. You can also Zoom In or Out to see images clearly.)


7.Database Design

7.2ER Diagram

7.3 Tables' Descriptions

  • House Owner: House Owner tables stores all the data of a House Owner. The attributes of the table is owner_id(PK), first_name, last_name, email, mobile_no, address. It has foreign key in Flat and Rental Ad tables.
  • Tenant: Tenant tables stores all the data of a Tenant. Currently, it has no relation with any other tables. The attributes of the table is tenant_id(PK), first_name, last_name, email, mobile_no, address.
  • Rental Advertise: Rental Advertise tables stores all the data of a Rental Advertise. It has a foreign key in House Owner and Flat table. The attributes of the table is ad_id(PK), owner_id(FK), flat_id(FK), posted_date, posted_time.
  • Flat: Flat tables stores all the data of a Flat. It has a foreign key in House Owner and Rental Advertise table. The attributes of the table is flat_id(PK), owner_id(FK), price, location, size, no_of_bedroom, no_of_bathroom.

8.Implementation Plan

Developers Components Date
Developer 1, Developer 2 Component 1 Date and Time Limit
Developer 3, Developer 4 Component 2 Date and Time Limit