Skip to content

RESTful API description Copy

laurilako edited this page Feb 1, 2024 · 1 revision

SelliX

Overview

The Problem

Many people discard their belongings that they no longer require, without realizing its harmful environmental impact. This results in a loss of resources that could have been recycled and reused by someone else. For instance, statistics indicate that nearly 70% of used clothing ends up in landfills, which contributes to environmental concerns. On the other hand, only 1% of clothes are recycled into new garments, highlighting the challenges faced in textile recycling. [1]

This issue of textile waste management has led to an environmental crisis, causing negative impacts on the planet. However, SelliX has come up with a solution to tackle the problem. It provides a platform for users to sell their used and unwanted items, and also buy or rent things they need. This way, users can earn money from items they were going to throw away, while also contributing to recycling and minimizing their impact on the environment. This not only results in financial gain but also has a positive mental effect.

Finnish online marketplaces are mainly for a Finnish audience and are likely to be difficult to use for an internationalizing population. This could be fixed by building a platform that everyone can understand.

Our Approach

  • Implement online marketplace utilizing RESTful API connected to a database and front-end client
  • RESTful API must cover necessary CRUD actions for each resource in the marketplace architecture
  • Implementing is done feature by feature taking into account the assessment of the course Programmable Web requirements.

Goals & Success

  • Users can create an account or log in.
  • Users can create and edit listings for items in the marketplace through the front end which utilizes the API.
  • Users can search for items listed by other users.
  • User satisfaction could be tracked with product/seller reviews and ratings.

Main concepts and relations

In our application:

  • Users can create an account or log in.
  • Users can create and edit listings for items in the marketplace through the front end which utilizes the API.
  • Users can search for items listed by other users.
  • User satisfaction could be tracked with product/seller reviews and ratings.

Features

  • User Registration
    • Users can create an account providing basic details
  • Browse Listing of Products
    • Navigate through the web app's user-friendly interface to explore various categories like furniture, home decor, and electronics.
  • Search and filtering
    • Search for specific products with keywords, etc. and filter with location, price range, etc.
  • Detailed description of the product
    • Detailed information about the product with multiple images
  • Product reviews
    • Buyers can give ratings and reviews about the products
  • Discounts and offers (consideration)
    • Discounts, deals and offers on products
  • Messaging (consideration)
    • We can build a messaging section or a simple form to send a message and the buyer/seller will get the message as an email
  • Geolocation (consideration)
    • Display product location on Google map

User Flows & Mocks

user-flow.png

A basic sketch of the screen

wireframing.png

Technical Architecture

Data model diagram which describes more about possible data models.

Data model

data-model.png


API uses

System architecture

Our system architecture describes clients and services that will use our API. For example, there are CRUD options available for product in our front-end client which relies on our API.

system-architecture.png

Related work

In exploring existing APIs closely related to the functionality we visioned for Sellix, we came across the eBay API. The eBay API facilitates access to eBay's vast marketplace, enabling developers to integrate features such as user authentication, listing management, and search functionalities into their applications.

Functionality Provided by the eBay API:

  • User Authentication: Allows users to authenticate and access their eBay accounts securely.
  • Listing Management: Permits users to create, edit, and manage listings for products or services they wish to sell on eBay's platform.
  • Search Functionalities: Offers robust search capabilities, enabling users to search for specific items based on keywords, categories, and other parameters.
  • Product Reviews: Provides access to product reviews and ratings, allowing buyers to make informed purchasing decisions.
  • Messaging System: Facilitates communication between buyers and sellers through an integrated messaging system.

Classification of the eBay API:

The eBay API falls under the category of CRUD REST (Create, Read, Update, Delete Representational State Transfer) APIs. It allows users to perform CRUD operations on various resources within the eBay marketplace, including listings, user accounts, and product reviews.

Example Client Using the eBay API:

An example client that utilizes the eBay API is the GarageSale application for macOS and iOS. GarageSale allows users to create and manage eBay listings directly from their desktop or mobile devices, leveraging the functionality provided by the eBay API for seamless integration with eBay's marketplace.

References:


Resources allocation

Task Student Estimated time
Writing documentation, planning, research on topic Konsta Laurila 6
Writing documentation, planning, research on topic Bishwas Wagle 6
Writing documentation, planning, research on topic Kurosh Husseini 6
Writing documentation, planning, research on topic Aleksi Illikainen 6

Clone this wiki locally