a shop api with django rest framework
- install python3 from here
- pip install -r requirements.txt
- python manage.py migrate
- python manage.py createsuperuser(insert user name and password)
- python manage.py runserver
Allowed Methods : GET
Access Level : Public
return array of objects of all products in the database that tagged as available. and also have a nested inner object of category that related to it as ForignKey relation.
you can get a specific product object with passing the pk to the end of the path.
Allowed Methods : GET
Access Level : Public
search in products by given keywords
search by "search" keyword
allowed methods : GET
Access Level : Public
return objects of categories that admin made.
you can get a specific category object with passing the pk to the end of the path.
Allowed Methods : GET
Access Level : Public
search in categories by given keywords
search by "search" keyword
allowed methods : GET
Access Level : Admin
return object of all registered users
you can get specific user object with passing the pk to the end of the path.
allowed methods : GET
Access Level : Authorized users
GET : return all products in the authenticated user cart
Allowed Methods : GET
Access Level : Authorized users
search in user cartitem by given keywords
search by "search" keyword
allowed methods : POST
Access Level : Authorized users
fields : 'required': {'quantity', 'product_id'}
POST : The data should include fields available if user authorized.
allowed methods : DELETE
Access Level : Authorized users
DELETE : there is no data to send. you should put the pk of products that are in user cart you want to delete in the url instead of {pk}
allowed methods : GET
Access Level : Authorized users
GET : there is no data to send. you should put the pk of products that are in user cart you want to add one to it in the url instead of {pk}
allowed methods : GET
Access Level : Authorized users
GET : there is no data to send. you should put the pk of products that are in user cart you want to reduce one from it in the url instead of {pk}
allowed methods : POST
Access Level : Public
fields : 'required': {'username', 'password'}
POST : the data you post should include 'username' and 'password' fields if the user was authorized the access token and the refresh token will return as json.more information about JWT
allowed methods : POST
Access Level : Public
fields : 'required': {'refresh'}
POST : the data you post should include 'refresh' and the value of it should be user refresh token that is sent when user login.
allowed methods : POST
Access Level : Public
fields : 'required': {'username', 'password1', 'password2', 'email', 'first_name', 'last_name'}
POST : should include the 'fields' keys and proper value. errors and exceptions handled , should have a proper place to show them in frontend.
allowed methods : PUT
Access Level : Authorized users
fields : 'required': {'old_password', 'password1', 'password2'}
PUT : should include 'fields' keys with proper values. errors and exceptions handled , should have a proper place to show them in frontend.
allowed methods : PUT
Access Level : Authorized users
fields : 'optional': {'username', 'first_name', 'last_name', 'email'}
PUT : should include the authorized user access token. the uniqueness of email and username handled.
allowed methods : POST
Access Level : Authorized users
fields : 'required': {'refresh_token'}
POST : should include the authorized user access token. post user refresh token with 'refresh_token' key to expire the access and refresh token of the given user.
allowed methods : PUT
Access Level : Authorized users
fields : 'required': {'image'}
PUT : should include the authorized user access token
allowed methods : DELETE
Access Level : Authorized users
fields : 'required': {'password'}
DELETE : should pass the pk to the end of the url. and also user password to authorize the user .
- add users and configurations
- add CORS and configurations
- Make the cart
- Add JWT authentication system
- add cors and configurations
- check for availability on get method for all products
- Add JWT authentication system
- add product api
- add delete feature for cart
- add documentation
- add CSRF and configurations
- add the math operations for quantity
- Make the cart
- calculate the quantity and valid products to buy
- add search option for product and category
- third party register
- add support
- add billing part
- add educational blog
- beautify the code
- add the frontend