transpyr-api powers Transpyr’s event, authorization, and user management operations.

Features:

  • Account creation, modification, and deactivation.
  • Search for events by keyword, or query with the ability to sort, paginate, and filter by fields or location radius.
  • Create and publish events.
  • “Me” routes for authorized users to fetch their own bookings and events.
  • Validate and create bookings.
  • Create, query, and resolve refund requests.
  • Handles checkout sessions with Stripe and leverages Stripe webhooks to create bookings.
  • Automatically sends emails to attendees and organizers for important actions.
  • Signs and decodes JSON web tokens for authorization.
  • Protects restricted routes based on bearer token authorization and user roles.
  • Error handling middleware gracefully handles operational errors and logs unexpected ones.
  • More powerful CRUD operations for admins, including the ability to view and modify unpublished events.
  • Streams event/user images from Transpyr’s Amazon S3 bucket.

Technologies Used:

  • Express
  • Mongoose ODM for MongoDB
  • Pug for email templates
  • Nodemailer for sending emails with Sendgrid
  • Multer for multipart data handling
  • Sharp for image manipulation
  • Stripe library for working with Stripe Checkout
  • bcrypt for password hashing
  • jsonwebtoken library

© 2021 Stephen Welbourn, Built with Gatsby