Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/raj-pulapakura/ultraride

The ecommerce website for shoe addicts.
https://github.com/raj-pulapakura/ultraride

apollographql docker ecommerce expressjs graphql material-ui mysql nodejs react redis stripe stripe-api typeorm website

Last synced: 3 days ago
JSON representation

The ecommerce website for shoe addicts.

Awesome Lists containing this project

README

        

# UltraRide: Shoe Ecommerce Website
This is a shoe ecommerce website built with React.js, Node.js, TypeScript, and GraphQL. It provides a platform for users to browse and purchase shoes online. The application integrates with Stripe for processing payments and utilizes Docker for containerization of the website and server.

## Gallery



















## Features

The shoe ecommerce website offers the following features:

- ๐Ÿ“‘ **Product Catalogue Page**: Users can browse through a wide range of shoe products listed on the website. The product catalogue page provides an overview of available shoes, including their names, prices, and images.

- ๐Ÿคฉ **Product Details Page**: Each shoe product has a dedicated details page where users can view additional information about the product, such as its description, available sizes, and customer reviews.

- ๐Ÿ” **Search Bar**: Users can use the search bar to find specific shoe products based on keywords, making it easier to discover desired items quickly.

- ๐Ÿ›’ **Shopping Cart**: The website includes a shopping cart feature that allows users to add products to their cart, view the contents, update quantities, and proceed to checkout.

- ๐Ÿ‘ **Product Filters**: Users can apply various filters, such as brand, size, color, and price range, to narrow down their search results and find products that match their preferences.

- ๐Ÿ“š **Admin Page**: The website has an admin page designed for website maintainers. Admin users can manage product listings, including adding new products, updating existing products, and removing products from the catalog.

## Technologies used

- ๐Ÿ‘€ **Website**: TypeScript, React.js, MaterialUI, Redux
- โš™๏ธ **Server**: TypeScript, Node.js, Express.js, ApolloGraphQL, TypeORM
- ๐Ÿ’ณ **Payments**: TypeScript, Stripe API
- ๐Ÿงช **Cache\***: Redis
- ๐Ÿ—ƒ๏ธ **Orchestration**: Docker, Docker Compose
- ๐Ÿ›– **Database**: MySQL

\*Redis was used to store authentication information.

## Technical notes

### API

The backend of the application utilizes GraphQL for data fetching and manipulation. The available GraphQL queries, mutations, and subscriptions are documented using GraphQL schema and can be explored through tools like GraphiQL or GraphQL Playground.

### Admin Page

The admin page provides an interface for authorized users to manage the product catalog. To access the admin page, a user must have the necessary admin credentials. Once authenticated, the admin can perform various tasks, such as adding new products, updating existing product details, and removing products from the catalog.