项目作者: melardev
项目描述 :
Rails Api Ecommerce application
高级语言: Ruby
项目地址: git://github.com/melardev/RailsApiEcommerce.git
Ruby On Rails E-commerce API
Table of Contents
Introduction
This is one of my E-commerce API app implementations. It is written in Ruby On Rails.
This is not a finished project by any means, but it has a valid enough shape to be git cloned and studied if you are interested in this topic.
If you are interested in this project take a look at my other server API implementations I have made with:
Full-stack Applications
Server side implementations
The next to come are:
- Spring Boot + Spring Data Hibernate + Kotlin
- Spring Boot + Jax-RS Jersey + Hibernate + Kotlin
- Spring Boot + mybatis
- Spring Boot + mybatis + Kotlin
- Asp.Net Web Api v2
- Elixir
- Golang + Beego
- Golang + Iris
- Golang + Echo
- Golang + Mux
- Golang + Revel
- Golang + Kit
- Flask + Flask-Restful
- AspNetCore + NHibernate
- AspNetCore + Dapper
Client side implementations
This client side E-commerce application is also implemented using other client side technologies:
Blog/CMS
Server side implementations
The next to come are:
- Spring Boot + Spring Data Hibernate + Kotlin
- Spring Boot + Jax-RS Jersey + Hibernate + Kotlin
- Spring Boot + mybatis
- Spring Boot + mybatis + Kotlin
- Asp.Net Web Api v2
- Elixir
- Golang + Beego
- Golang + Iris
- Golang + Echo
- Golang + Mux
- Golang + Revel
- Golang + Kit
- Flask + Flask-Restful
- AspNetCore + NHibernate
- AspNetCore + Dapper
Client side
The next come are
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
Simple CRUD(Create, Read, Update, Delete)
Server side implementations
Client side implementations
The next come are
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
- Vanilla javascript
Server side implementations
The next come are
- NodeJs Express + Knex
- Flask + Flask-Restful
- Laravel + Fractal
- Laravel + ApiResources
- Go with Mux
- AspNet Web Api 2
- Jersey
- Elixir
Client side implementations
The next come are
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
- Vanilla javascript
- Youtube Channel I publish videos mainly on programming
- Blog Sometimes I publish the source code there before Github
- @melardev">Twitter I share tips on programming
WARNING
I have mass of projects to deal with so I make some copy/paste around, if something I say is missing or is wrong, then I apologize
and you may let me know opening an issue.
Getting started
- Git clone the project
- cd into the project
- bundle install to make sure you install al the dependencies
- then run
rails db:create db:seed
to create and seed the database - run the app with
rails server -p 8080
- Import api.postman_collection.json into postman and issue the requests by yourself -)
Features
- Authentication / Authorization
- Paging
- Admin feature
- CRUD operations on products, comments, tags, categories, addresses

- Orders, guest users may place an order

What to learn
- Rail API application
- Active Record, the rails ORM framework
- associations: belongs_to, has_many, belongs_to_many
- validations
- JSON builder for rails
TODO
- Refactor the horrible orders_controller:create method
- Review all the Database queries, are they vulnerable to SQLi ?
- Narrow down the routes available, I rely on resources: but I have some of the resource methods not used
- Dockerize this application