Art Colllection Website

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

ART COLLLECTION WEBSITE

Basic functionality:
This web app is a platform to buy/sell art products.

There will be two type of users:


1) Normal User(Buyer, Seller)
2) Admin (Website admin. Handles approval tasks).
Product for selling: only paintings and sketches.

Basically you can consider this product(Painting, sketch) for saving in the DB(Database):
It can have parameters like this-
(You can modify if you want)
Art-
- ProductID
- ProductName
- Price
- DatePostedOn
- SellerName
- Reviews
There can be another table for storing user information for login process. You can think
about it yourself.
We will do the assignment in 3 phases so it’s a relatively easy task for you.

Phase 1 (Expected time: 2 days)

System design in detail:


System design is basically designing DB according to the requirement. Designing relevant
APIs which will be required for DB calls and basic front end functionality in the end.
Here designing does not mean you have to code. It just means that you have to make a sort
of a flowchart on pen and paper.
Technical Goals: Learning basics of designing a system.

Phase 2 (Expected time: less than 1 day)

Making DB (Which DB to choose?)


Technical Goals: Learning basic DBMS and SQL/NOSQL depending on requirement
Phase 3 (Making backend APIs)
Normal user should be able to:
1) Fetch art data from DB
2) Modify DB(eg. Giving review/rating)
Admin should be able to:

1) Add data in DB
2) Delete data in DB
3) Modify all columns in DB

4) See all users data


5) Edit a user
6) Delete a user
7) Make more admins
You can think and design your APIs thinking in this direction.
This is just a crude idea of basic working so that you get a hint how you can approach it. You
can ease out or complicate the basic functionality according to your personal preference.
Technical Goals:
1) Getting proficient in one programming language.
2) Learning basics of software development and design.
3) Getting familiar with frameworks which ease development process (eg. Springboot in
JAVA).
4) Writing unit test cases for your API
5) Testing your API response

Phase 4 (Expected time: 2 days)


Making basic front end.
I am not expecting a beautiful looking website so don’t go in details of HTML and CSS.
I just want to see all functionalities of our desired website working.
Technical Goals: Getting familiar with Angular/React

While coding this, you can use GitHub to push your code so that you can get familiar with
GitHub also and this way I will also be able to look on your task easily.

Also don’t worry, this might look like a heavy task but you don’t need to learn all things
simultaneously so that is why I kept this assignment in phases. After completing it you will
realise that this was a easy task

You might also like