-
Notifications
You must be signed in to change notification settings - Fork 5
Architecture Model
Description: Our system used a layered architectural pattern to illustrate the subsystem decomposition, interaction between layers and the distribution of subsystems. The model allows us to split our system into frontend layer and backend layer. In this way, our system can be easily understanded.
login -- Tianyu Zhao
- The login page is the first page that user accesses. Here the user can either create a new account by "signUp" button which redirects the user to the sign up page, or enter the username and password in order to login. Upon login, the user is assigned to both customer role and artist role at the same time.
signup -- Tianyu Zhao
- New user can be able to create a new user account for the artgallery system in this page.
home page -- Angelina Duan
- This page shows current art pieces that could be purchased.
- Artists can upload art pieces by clicking the "Upload" button.
- Users can see their account information by clicking the "Info" button.
- Users can see detailed information about the art piece by clicking it. home page -- Angelina Duan
- This is the first page of the Art Gallery System.
- This page has a button links to the login page called "Login/Sign up".
- This page has a button links to the user manual called "User Manual". account information page -- Zhekai Jiang
Purchase page -- Amelia Cui
- The purchase page provides the user with the ability to create a new purchase with various delivery options. The user first needs to choose the payment method and input the card ID. After that, the user shall be able to choose to pick up instore or parcel delivery. For parcel delivery, the user can choose the existing addresses in their own account, or he/she can input a new delivery address. Once the payment and delivery options are filled in correctly, a successful payment is created and the user will be redirected to his/her home page.
Artpiece Upload page -- Zheyan Tu
- The upload page provides a form for user to fill, by entering all attributes needed to create a new art piece. If all fields are filled with a valid input, click 'Create!' button to add a new art piece. After click the 'Reset' button, all fields are cleared. The 'Cancel' button redirects the user back to his/her home page.
Artpiece info page -- Amelia Cui
- This page shows detailed information about the art piece including art piece ID, name of the art piece, author, date, and price.
- Customers can purchase the desired art piece by clicking the "Purchase" button.
At the point this architecture model was created, the mobileGUI has not been created, more details about this section was be implemented later.
The backend is split into service layer and the persistance layer.
The service layer is splited into contoller layer and business methods
- The controller layer handles the interaction with frontend using RESTful controller.
- The Rest Controller handles all the GET, POST, PUT, and DELETE requests from the frontend by mapping them to methods which in turn call the Business services.
User management
- User management handles all the operations related to the customer/ artist. More specifically, it can create user account, update account information, for artist, it can also handle artpiece uploading.
Art piece management
- Art piece management handles all operations related to the creation and modification for art piece.
Purchase management
- Purchase management handles the payment and delivery for a specific artpiece.
The model classes consist of all the business entities that are used to describe the system. The objects instantiated from these classes can be manipulated only by service classes. The service class can create, read, update, delete (CRUD) business entities. This can prevenet users from directly editing business classes which are saved to the database.
For this project, we are using a postgres database set up in Heroku application.