Skip to content
Alexandra Swart edited this page Feb 27, 2019 · 1 revision

An e-commerce app where a user can browse among items with which they can buy or sell. It contains a client app built in React using it's Next.js framework and GraphQL's Apollo framework. The server app uses a GraphQL server with Prisma as the database interface.

User stories

  • As an unauthenticated or authenticated user, I can see and search for items in store.
  • As an unauthenticated user, I can create an account or sign in.
  • As an unauthenticated user, I can request to reset my account password.
  • As an authenticated user, I can reset my account password.
  • As an authenticated user, I can submit items I want to sell through the store.
  • As an authenticated user, I can edit details, such as title and description, of a submitted item.
  • As an authenticated user, I can add selections to a submitted item.
  • As an authenticated user, I can edit details, such as price and quantity, of a submitted item's selection.
  • As an authenticated user, I can delete an item I have submitted to the store.
  • As an authenticated user, I can add/remove items from cart and come back later to access them.
  • As an authenticated user, I can delete items from cart that I decide I don't want anymore.
  • As an authenticated user, I can use a credit card to buy items in cart.
  • As an authenticated user, I can view past orders.

Tech Stack and Key Packages

Server Side

Client Side

  • React: Javascript Framework
  • Next.js: React Framework for server side rendering/routing/tooling
  • Apollo: GraphQL Framework for Data Management
  • Styled-Components: CSS for styling React component systems
  • Jest: Javascript testing
  • Enzyme: React testing utility
  • Cloudinary: Image hosting API
Clone this wiki locally