Giter Club home page Giter Club logo

antimorph-ecommerce's Issues

Customer - Register

Story

As a customer, I Want to register in the system.

Customer Data

  • FirstName
  • LastName
  • Email
  • Is Suspend (default active)
  • Phone Number (optional)
  • Password
  • Last Login
  • TimeStamps

API

Method: POST
Endpoint api/customer/register
Request: All Data in Customer Data Section except Last Login and Is Suspended
Response: Successful message

AC:

  • Customer password must be at least 8 character and contains upprtcase, lowercase, number
  • Customer Model

Checklist

  • API Doc
  • Test

Admin - Delete Customer

Story

As an admin, I Want to delete a customer

API

Method: DELETE
Endpoint api/admin/customer/{id}
Auth: admin
Response:
- Successful Message

Checklist

  • API Doc
  • Test

Admin - Customer List

Story

As an admin, I want to get customer list

API

Method: GET
Endpoint api/admin/customers
Auth: admin
Request: page, limit
Response:

  • Paginator with customer model data without password

Checklist

  • API Doc
  • Test

Admin - Create Customer

Story

As an admin, I Want to create a customer

API

Method: POST
Endpoint api/admin/customer
Auth: admin
Request: FirstName, LastName, Email,Is Suspend (optional - default active), Phone Number (optional), Password
Response:
- customer model except password field

Checklist

  • API Doc
  • Test

Image Gallery Model

Story

The system must have a model for future image relations like category, product, and maybe customers, ...

Imageable Data

PolyMorphic Images!

AC

  • model-based relation
  • image path
  • type

Checklist

  • Test

Cart Model

Story

The system must have a model for Cart and CartItem

Cart Data

  • id
  • customer email
  • customer firstname
  • customer lastname
  • customer id
  • shipping method
  • items_count
  • item_qty
  • grand total
  • subtotal
  • shipping cost
  • discount amount
  • is active
  • timestamps

Cart Items Data

  • id
  • qty
  • name
  • price
  • cart id
  • product id
  • timestamps

Checklist

  • Test

Admins - Base

Story

As System Admin - I want to create an Admin user with the artisan command

Admin Data

  • FirstName
  • LastName
  • Email
  • Status (default is 1)
  • Phone Number (optional)
  • Password
  • Last Login
  • TimeStamps

Command

Params: Email and password (optional)

AC:

  • If password is not provided, Create a random password and show it to the user

Checklist

Category Model

Story

The system must have a model for Categories

Category Data

  • id
  • name
  • slug
  • position (category order)
  • image_relation (find a way to make a relation between this category and imageable)
  • parent_id
  • status (default enable)
  • meta title (optional)
  • meta description (optional)
  • meta keywords (optional)
  • timestamps

AC

  • For images find a way to use the image gallery(#16)

Checklist

  • Test

Admin - Login

Story

As an admin, I Want to login into the system.

API

Method: POST
Endpoint api/admin/login
Request: Email, Password
Response:
- bearer token
- expires_at

AC:

  • Using sanctum as the authentication package ( with a different guard)
  • Last Login changes
  • If provided email or password is wrong show a general message and don't expose which one is wrong!

Checklist

  • API Doc
  • Test

Create Category

Story

As an admin, I Want to create a category

API

Method: POST
Endpoint api/admin/category
Auth: admin
Request Data:

  • id
  • name
  • slug
  • position (category order)
  • image
  • parent_id
  • status (default enable)
  • meta title (optional)
  • meta description (optional)
  • meta keywords (optional)

Response:
- Category Model

AC

  • If slug is not provided, it must be generated automatically
  • Image must be stored at public\images\categories

Checklist

  • API Doc
  • Test

Add sku to product model

Task

Each product in the system must have a unique stock-keeping unit (SKU)

AC

  • SKU must be unique
  • by default SKU can be generated from the product name

Customer - Logout

Story

As a customer, I Want to logout from the system,

API

Method: GET
Endpoint api/customer/logout
Auth: customer
Request: empty
Response: Successful message

AC:

  • Token must be useless if we use it in another guarded request.
  • Other customer tokens must be there and just the requested one gets revoked

Checklist

  • API Doc
  • Test

Customer - Login

Story

As a customer, I Want to login into the system.

API

Method: POST
Endpoint: api/customer/login
Request: Email, Password
Response:

  • bearer token
  • expires_at

AC:

  • Using sanctum as the authentication package
  • Last Login changes
  • If provided email or password is wrong show a general message and don't expose which one is wrong!

Checklist

  • API Doc
  • Test

Create Product

Story

As an admin, I Want to create a product

API

Method: POST
Endpoint api/admin/product
Auth: admin
Request Data:

  • name
  • slug
  • short description
  • description
  • images
  • categories
  • status (default enable)
  • meta title (optional)
  • meta description (optional)
  • meta keywords (optional)
  • price
  • sale price(optional)
  • sale start(optional)
  • sale end(optional)

Response:
- Product Model

AC

  • If slug is not provided, it must be generated automatically
  • Image must be stored at public\images\products

Checklist

  • API Doc
  • Test

Product Model

Story

The system must have a model for Product

Product Data

  • id
  • name
  • slug
  • short_description
  • description
  • position (product order) (optional)
  • image_relation (find a way to make a relation between this product and imageable)
  • category_relation
  • status (default enable)
  • meta title (optional)
  • meta description (optional)
  • meta keywords (optional)
  • price
  • sale price(optional)
  • sale start(optional)
  • sale end(optional)
  • timestamps

AC

  • For images find a way to use the image gallery(#16)
  • Products can have multiple categories!

Checklist

  • Test

Admin - Edit Customer

Story

As an admin, I Want to edit a customer

API

Method: PUT
Endpoint api/admin/customer/{id}
Auth: admin
Request: FirstName, LastName, Email,Is Suspend (optional - default active), Phone Number (optional), Password
Response:
- customer model except for password field

Checklist

  • API Doc
  • Test

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.