Skip to content

A site where a customer can download resources after performing payment

Notifications You must be signed in to change notification settings

Kshitijk5/springboot-react-stripe-payment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

springboot-react-stripe-payment

SoftwareNotesHub

SoftwareNotesHub is a full-stack web application that enables users to purchase courses and pay for them using the Stripe payment gateway. The project showcases the integration of Auth0 for user authentication and authorization, ensuring secure access to protected backend APIs through JWT validation and Stripe for secure payment processing. This repository contains both the backend built with Spring Boot and the frontend built with React and Vite.

Demo

  • Main page(Not logged in state)

Main page

  • Login

Main page

  • Main page(Logged in state)

Main page

  • Main page (Added to cart)

Main page

  • Cart page

Main page

  • Stripe checkout page

Main page

  • Stripe test payment page

Main page

  • Success page

Main page

  • Customer email

Main page

Features

  • User Authentication: Utilizing Auth0, users can register and log in securely, and their accounts are protected with JSON Web Tokens (JWTs).

  • Course Catalog: A comprehensive list of available courses is displayed, including course names, descriptions, and prices.

  • Shopping Cart: Users can add desired courses to their shopping cart, where they can review the cart summary before proceeding to payment.

  • Secure Payment: The Stripe payment gateway ensures a safe and smooth payment experience for users.

  • Payment Success Page: After successful payment, users are redirected to a success page confirming their purchase.

  • Email Notifications: Upon successful payment, users receive an email containing the paid course materials.

Tech Stack

Backend

  • Spring Boot: A robust Java framework for building powerful and scalable applications.

  • Spring Data JPA: Simplifies data access and manipulation with the database using Java Persistence API.

  • Spring Starter Web: Enables building web applications with Spring and simplifies the setup.

  • JavaMail Sender: Provides email sending capabilities for your application.

  • MySQL Driver: Provides connectivity to a MySQL database.

  • Lombok: Reduces boilerplate code and simplifies the Java classes.

  • ModelMapper: Facilitates object mapping between entities and DTOs.

  • Auth0: An authentication and authorization service used to secure user accounts and resources.

  • Stripe SDK: Enables secure and seamless payment processing with the Stripe payment gateway.

Frontend

  • React: A popular JavaScript library for building user interfaces.

  • Vite: A fast build tool for modern web development.

  • Auth0 SDK: Used to implement user authentication in the frontend.

  • Bootstrap: CSS Framework for developing responsive and mobile-first websites..

Backend APIs and Security

The backend APIs of SoftwareNotesHub serve as a protected resource server, validating JWT tokens generated by the Auth0 authentication server. This robust authentication and authorization setup ensure secure access to sensitive data and features, fostering a safe learning environment for users.

Installation

  1. Clone the Repository:
 https://github.com/Kshitijk5/springboot-react-stripe-payment.git

 cd springboot-react-stripe-payment

Contributing

  • Contributions are welcome! If you find any issues or want to add new features, feel free to submit a pull request.

About

A site where a customer can download resources after performing payment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published