Skip to content
AsmaaJerroumi edited this page Nov 24, 2020 · 19 revisions

Welcome to the Art Gallery Software System Wiki!

The main scope of this application is to provide the local artists the possibility to sell their artworks on the online gallery's website. On the other end, the customer that is looking for an art piece on the online gallery's website is provided the ability to buy the artwork posted by one or many artists by going through an online payment process. The artwork(s) are then delivered either to his specified address (home delivery option) or to the local gallery's premises where the customer can directly pick-up the purchased art pieces. A percentage of total price of all artworks sold by the artists on the site are collected as commissions by the local gallery.

Deliverable 1:

Deliverable 2:

Deliverable 3:

Deliverable 4:

Domain Model Description and Explanation:

At the development stage consisting of the creation of the domain model for the art gallery, a multitude of both minor and major design decisions were undertaken by the team mainly during organized team meetings. Overall, the main concept of the application englobes an online marketplace for the local gallery's artworks where any local artist can register to the site and upload his/her creations (art pieces) to the art gallery's online catalog. Subsequently, a registered customer on the gallery's website can make the decision to add the local artist's artwork from the online catalog to their shopping cart and, afterward, continue with the process of choosing their desired delivery method and completing the online payment process using their payment credentials like credit card details or their Paypal account to complete the order of the art piece. Ultimately, the customer that has bought the art piece(s) receives a notification by email that includes the purchase receipt and the expected delivery date of the artwork(s).

As a starting point, the team judged that the use of the shopping cart would allow the customer to dynamically add art pieces to their desired list of items without having to checkout immediately which adds to the convenience of navigating the site for the ordinary customer.

When it comes to on-site navigation, a design decision was made to separate all gallery items into different collections depending on the category to which belongs each item (e.g. surrealism, impressionism, pop art, etc.). This aspect allows for the customer with a specific taste to browse art pieces by a particular style all while remaining in an uncluttered environment that would otherwise be full of art pieces with absolutely unrelated styles.

In addition to having created classes for Artist and Customer (subclasses of the ApplicationUser class) used to differentiate between the different roles that the user plays in certain situations while on the site (e.g. payment process for the customer, uploading artworks for the user), the team determined that the art pieces available on the gallery's premises must be managed by the service provider (AKA the manager) to whom a separate class was dedicated in the domain model (the ServiceProvider class). Moreover, the ServiceProvider class has the unique ability to monitor and access the total amount of commissions collected by the local gallery from the sale of artworks.

Finally, the team reached a decision of adding an order notification handler (NotificationHandler class) that functions by sending an e-mail confirmation (OrderConfirmationEmail class) to the customer after the latter has fully completed the payment process of an artwork. This functionality plays the role of a purchase receipt containing all the processed information such as the payment date, artwork purchased, its price, and ultimately the expected delivery date (if home delivery was selected as the delivery option) which improves the overall customer experience.