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

https://github.com/osama-mohamed/e-commerce_django_restful_api

https://www.linkedin.com/in/osama-mohamed-ms/
https://github.com/osama-mohamed/e-commerce_django_restful_api

api bootstrap css css3 django django-rest-framework html html5 jquery json json-api mysql python python3 rest-api restful-api

Last synced: 3 months ago
JSON representation

https://www.linkedin.com/in/osama-mohamed-ms/

Awesome Lists containing this project

README

          

# [E-Commerce Restful API](https://buysell-osama-mohamed-django.herokuapp.com) By Django

[](https://buysell-osama-mohamed-django.herokuapp.com)
[](https://buysell-osama-mohamed-django.herokuapp.com)

## For live preview :
> [E-Commerce](https://buysell-osama-mohamed-django.herokuapp.com)

## E-commerce website contains:
### 5 Apps :
1. Accounts
2. Products
3. Orders
4. Reviews
5. Contact Us
* User register
* User login
* User logout
* Change password
* Reset password
* User delete account
* Send activation code when register
* Order products
* Edit order quantity -with jquery functionality-
* Delete order
* Add review to products
* Calculate avg to every product
* Contact us message

## Usage :
### Run project by :

``` python

# change database connection information in settings.py DATABASES default values with your info then run

1. python manage.py migrate

2. python manage.py runserver

# if you want to manage to project just create super user account by :

3. python manage.py createsuperuser

```

That's it.

## Done :

Now the project is running at `http://localhost:8000` and your routes is:

| Route | HTTP Method | Description |
|:-----------------------------------------------------------|:----------------|:---------------------------------------------|
| {host} | GET | Home page |
| {host}/admin/ | GET | Admin control panel |
| {host}/accounts/register/ | POST | User register |
| {host}/accounts/activate/{code}/ | GET | Activate user account after register |
| {host}/accounts/login/ | POST | User login |
| {host}/accounts/logout/ | GET | User logout |
| {host}/accounts/change_password/ | POST | User change password |
| {host}/accounts/profile/ | GET | User profile |
| {host}/accounts/profile/update/{pk}/ | PUT | User update checkout information |
| {host}/accounts/profile/delete/ | POST | User delete account |
| {host}/accounts/reset_password/ | POST | User email |
| {host}/accounts/reset_password/done/ | POST | Send reset password email |
| {host}/accounts/reset_password/confirm/{uidb64}/{token}/ | POST | Enter new password |
| {host}/accounts/reset_password/complete/ | POST | Finish reset password |
| {host}/products/ | POST | Products page |
| {host}/products/category/{category}/ | GET | Search products by category |
| {host}/products/all/ | GET | All products |
| {host}/products/{slug}/ | GET | Product detail |
| {host}/orders/order/{id}/ | POST | Order product |
| {host}/orders/order/{pk}/update/ | POST | Update order quantity |
| {host}/orders/order/{id}/delete/ | POST | Delete order |
| {host}/orders/cart/ | GET | Cart page |
| {host}/orders/pending/ | GET | Pending orders |
| {host}/orders/rejected/ | GET | Rejected orders |
| {host}/orders/accepted/ | GET | Accepted orders |
| {host}/orders/buy/ | POST | Buy orders |
| {host}/orders/thank_you/ | GET | Thank you page |
| {host}/reviews/add_review/{id}/ | POST | Add review |
| {host}/reviews/update_review/{id}/ | POST | Update review |
| {host}/reviews/delete_review/{id}/ | POST | Delete review |
| {host}/contact_us/ | POST | Contact us message |

| API Route | HTTP Method | Description |
|:-----------------------------------------------------------|:----------------|:---------------------------------------------|
| {host}/api/accounts/register/ | POST | User register |
| {host}/api/accounts/login/ | POST | User login |
| {host}/api/accounts/change_password/ | PUT | User change password |
| {host}/api/accounts/profile/{id}/ | GET | User profile |
| {host}/api/accounts/profile/update/{id}/ | PUT | User update checkout information |
| {host}/api/accounts/profile/delete/{id}/ | DELETE | User delete account |
| {host}/api/products/ | GET | Products page |
| {host}/api/products/category/{category}/ | GET | Search products by category |
| {host}/api/products/all/ | GET | All products |
| {host}/api/products/{slug}/ | GET | Product detail |
| {host}/api/orders/order/{id}/ | POST | Order product |
| {host}/api/orders/order/{id}/update/ | PUT | Update order quantity |
| {host}/api/orders/order/{id}/delete/ | DELETE | Delete order |
| {host}/api/orders/cart/ | GET | Cart page |
| {host}/api/orders/pending/ | GET | Pending orders |
| {host}/api/orders/rejected/ | GET | Rejected orders |
| {host}/api/orders/accepted/ | GET | Accepted orders |
| {host}/api/orders/buy/ | POST | Buy orders |
| {host}/api/reviews/add_review/{id}/ | POST | Add review |
| {host}/api/reviews/update_review/{id}/ | POST | Update review |
| {host}/api/reviews/delete_review/{id}/ | DELETE | Delete review |
| {host}/api/contact_us/ | POST | Contact us message |

For detailed explanation on how project work, read the [Django Docs](https://docs.djangoproject.com/en/1.11/) and [MySQLDB Docs](https://dev.mysql.com/doc/)

## Developer
This project made by [Osama Mohamed](https://www.linkedin.com/in/osama-mohamed-ms/)

## License
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT)