Skip to content
/ oney Public

Oney is a full CRUD clone of Etsy, an online shop for hand-made products.

Notifications You must be signed in to change notification settings

ily123/oney

Repository files navigation

Oney

Oney is a shopping web-app for handmade products. You can check out the web site by going to the link below.

Oney in Action

🔥Browse selected items and categories on the home page🔥 homepage

🔥Navigate through a list of 250+ product categories🔥 categories

🔥Search for items using the search bar🔥 searchbar

🔥View specific items and read reviews!🔥 product

🔥Add or remove items from the shopping cart & checkout!🔥 cart

Summary of the main features

Oney includes MVP functionality for the following features:

  • Product listing
    • Customers can add, edit, and delete their own products to the shop
    • Customers can browse other users' product listings
  • Product reviews
    • Customers can leave product review
    • Customers can edit or delete their own reviews
    • Customers can read reviews left by other users
  • Product / Category browser
    • All products belong to one of 253 categories and sub-categories
    • Customers can browse products within specific categories using the category browser
  • Shopping car
    • Customers can add or remove products to/from their shopping cart
    • The shopping cart persists between visits
    • Customers can check out their cart
  • Search
    • Users can search products by name and description

Documentation (see wiki)

Detailed documentation with the database schema, back-end routes, front-end routes, user stores, and feature overview can be found in the wiki 🔥🔥🔥

Tech details

The app is a combination of a Python back-end, wrapped over a relational database, and a React front-end.

  • Database
    • PostgresQL as the main (and only) data store
    • SQLAlchemy for object mapping
    • Alembic for easy migration management
  • Back-end API (Python)
    • Flask with assorted libraries such as WTForms
    • Served with gunicorn from a Docker container
  • Front-end client (JavaScript)
    • UI is written in React using functional components
    • Redux state management

Code snippet

import './ProductCard.css'
import { NavLink } from 'react-router-dom';

const ProductCard = ({id,price,images,title}) => {
	let image = images[0]?.url_570xN
	if (image) {
		return (
			<div className="prod">
				<NavLink to={`/products/${id}`}>
					<div className='product_card'>
					<img className= 'productImage' src={image} alt="Product Photo"/>
					<span className='productTitle'>{title}</span>
					<span className='productPrice'>${price}</span>
					</div>
				</NavLink>
			</div>
		);
	}
	return null
};

export default ProductCard;

Contribution

Mock data credit

The app is seeded with mock data from this paper.

About

Oney is a full CRUD clone of Etsy, an online shop for hand-made products.

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages