All Projects → ahamedali95 → BarterOnly

ahamedali95 / BarterOnly

Licence: other
An ecommerce platform to buy or exchange items at your convenience

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to BarterOnly

nfw
A jsonapi boilerplate for @nfw-core with mikro-orm
Stars: ✭ 23 (+43.75%)
Mutual labels:  json-api, bcrypt
Jsonapi parameters
Rails-way to consume JSON:API input
Stars: ✭ 50 (+212.5%)
Mutual labels:  json-api, ruby-on-rails
laravel5-jsonapi-dingo
Laravel5 JSONAPI and Dingo together to build APIs fast
Stars: ✭ 29 (+81.25%)
Mutual labels:  json-api, serializer
jsonapi-mapper
JSON API-Compliant Serialization for your Node ORM
Stars: ✭ 41 (+156.25%)
Mutual labels:  json-api, serializer
Jsonapi.rb
Lightweight, simple and maintained JSON:API support for your next Ruby HTTP API.
Stars: ✭ 116 (+625%)
Mutual labels:  json-api, serializer
json-api-serializer
Node.js/browser framework agnostic JSON API (http://jsonapi.org/) serializer.
Stars: ✭ 141 (+781.25%)
Mutual labels:  json-api, serializer
Graphiti
Stylish Graph APIs
Stars: ✭ 783 (+4793.75%)
Mutual labels:  json-api, ruby-on-rails
kodlama.io-javareactcamp
Java - React Camp Works | Kodlama.io
Stars: ✭ 33 (+106.25%)
Mutual labels:  localstorage, semantic-ui-react
Symfony Jsonapi
JSON API Transformer Bundle for Symfony 2 and Symfony 3
Stars: ✭ 114 (+612.5%)
Mutual labels:  json-api, serializer
Laravel Api Boilerplate
A Boilerplate Project For Laravel API's (NOT MAINTAINED)
Stars: ✭ 113 (+606.25%)
Mutual labels:  json-api, jwt-auth
php-json-api
JSON API transformer outputting valid (PSR-7) API Responses.
Stars: ✭ 68 (+325%)
Mutual labels:  json-api, serializer
apollobank
A full stack GraphQL banking application using React, Node & TypeScript.
Stars: ✭ 203 (+1168.75%)
Mutual labels:  cors, bcrypt
quiz-app
🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser.
Stars: ✭ 97 (+506.25%)
Mutual labels:  jsx, semantic-ui-react
hanami-serializer
Serializer library for hanami applications
Stars: ✭ 22 (+37.5%)
Mutual labels:  json-api, serializer
IndieNoMo
A full-stack web-app inspired by crowdfunding platform IndieGoGo.
Stars: ✭ 36 (+125%)
Mutual labels:  jsx, ruby-on-rails
Jsonapi Serializer
A Node.js framework agnostic library for (de)serializing your data to JSON API
Stars: ✭ 651 (+3968.75%)
Mutual labels:  json-api, serializer
Dictfier
Python library to convert/serialize class instances(Objects) both flat and nested into a dictionary data structure. It's very useful in converting Python Objects into JSON format
Stars: ✭ 67 (+318.75%)
Mutual labels:  json-api, serializer
Jsonapi Utils
Build JSON API-compliant APIs on Rails with no (or less) learning curve.
Stars: ✭ 191 (+1093.75%)
Mutual labels:  json-api, serializer
Covid19-Tracker
The situation of the Coronavirus epidemic data around the World and details info in Vietnam.
Stars: ✭ 15 (-6.25%)
Mutual labels:  localstorage, fetch-api
microservices-go-grpc
Go microservices with REST, and gRPC for demonstrating the BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" :-)
Stars: ✭ 151 (+843.75%)
Mutual labels:  semantic-ui-react

BarterOnly

BarterOnly is single-page, full-stack web application built using ReactJS and Ruby on Rails. It is an ecommerce platform where customers can list items they no longer need in exchange for cash or an exchange item. Customers can search the marketplace with hundreds of items, sort products based on certain attributes(date, price, rating) and categorize items. After acquiring an account, customers can either make a purchase for the full value of product or acquire item by making an exchange. A key feature of this platform is that it automatically matches a customer with other customers who are looking for items that they have. In combination with ReactJS, BarterOnly uses Redux - a state management React library to hold the state of the front-end application in a single store so that any component can have access or modify the global state, effectively eliminates passing of props from parent to child. Additionally, BarterOnly utilizes dynamic routing using React Routers, RESTful JSON API using Rails to give a feel of a dynamic web application. Moreover, this application implements the core concept of relational database as a foundation to relate data to one another so that information can be efficiently retrieved. The relationships are formed using ActiveRecord associations.

Following is the Entity Relationship Diagram that describes the entities/models and associations between these entities:

imageedit_8_6919085673

Following is the tree-like React Component Hierarchy that describes the component structure of the application's front-end:

 ┬  
 ├ App
     ┬  
     ├  NavBar
     ├  LoginForm
     ├  UserRegisterForm
     ├  ProductListingContainer
         ┬  
         ├  Categories
         ├  SearchField
         ├  SortSelection
         └  ProductListingsCollection
     ├  PrivateProductListings
     ├  MatchingProductListings
     └  PurchasedProducts

Notable Tools:

  • Semantic UI React - a React framework to add responsive web design to the front-end
  • JSON Web Token - a token-based system used for authenticating users and authorizing certain API routes
  • React Dropzone - a React library used for managing client-side file upload
  • Rack Cors - a Rails gem that allows support for Cross-Origin Resource Sharing(CORS) to allow the resources of a Rails web server to be accessed by a web page from a different domain
  • Serializer - a Rails gem that allows to build JSON APIs through serializer objects. This provides a dedicated place to fully customize the JSON output
  • Bcrypt - a Ruby gem that allows to store sensitive information such as passwords in the back-end after hashing

Link to back-end application: https://github.com/ahamedali95/BarterOnly-back-end

Demo:

watch this video

Instructions

To start, run npm install && npm start to get the app up and running. This will start the app at PORT 3000. To designate a different port number for the app, modify the scripts in package.json from "start": "react-scripts start" to "start": "PORT={PORT NO.} react-scripts start"

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].