-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
- 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.
- GraphQL: Query language for APIs
- GraphQL Yoga: Express GraphQL server
- Prisma: GraphQL database interface
- Bcryptjs: Password hashing
- JSON Web Token: User authentication
- MailTrap: Development emailing
- Postmark: Production emailing
- nodemailer: Sending email with NodeJS
- Stripe: E-commerce API
- 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