-
create free Stripe Account
-
visit dashboard and click "products" in sidebar -> + Add Product
-
Fill out name, description, select "standard pricing"
-
Add a $ amount in Price.
-
Select "Recurring" & monthly billing period.
-
Click "Save Product"
-
Click "developers" in sidebar -> API Keys to get Publishable & Secret Keys
-
git clone https://github.com/truthseekers/todo-graphql.git
-
cd todo-graphql
-
cd client
-
npm install
-
create a client/.env file. In client/.env, Copy Stripe Publishable Key and make the line REACT_APP_STRIPE_PUBLISHABLE_KEY=your_publishable_key
-
in client/.env, Copy Stripe SECRET KEY and make the line REACT_APP_SECRET_KEY=YOUR_SECRET_KEY
-
npm start
-
open new terminal.
-
cd todo-graphql/server
-
npm install
-
npx prisma migrate up --experimental
-
Yes to add new DB
-
npx prisma generate
-
Create a server/.env file.
- make the line SECRET_KEY=your_secret_key (from stripe)
- make the line FANCY_BIZ_TOOL=your_price_id (from the product you created in Stripe)
-
nodemon src/index.js
Lecture: GraphQL Hello Worl with graphql-yoga Branch - hello-world-done
Lecture: Querying an array of Users Branch - querying-data-done
Lecture: Field Level Resolvers in GraphQL Branch - field-level-resolvers-done
Lecture: Challenge: add age with multiplier Branch - change-age-done && change-age-start
Lecture: Filtering results with parameters Branch - challenge-query-parameters-done (and -start)
Lecture: Mutations: Creating a user Branch - mutation-create-user-done (and -start)
Lecture: Auto Increment User Id Branch - auto-increment-id-challenge-done (and -start)
Lecture: Delete a User Branch - challenge-delete-user-done (and -start)
Lecture: Challenge: update User Branch - challenge-update-user-done (and -start)
Lecture: Input Types in GraphQL Branch - input-types-done (and -start)
Lecture: One to many relationships Branch - one-to-many-done (and -start)
Lecture: add and delete todos Branch - add-delete-todos-done (and -start)
Lecture: Many to Many relationships Branch - many-to-many-done (and -start)
------------------------- Prisma ------------------------
Lecture: Installing Prisma & findMany users Branch - prisma-setup-done (and -start)
Lecture: Creating a user in prisma Branch - prisma-create-user-done (and -start)
Lecture: Deleting a user in prisma Branch - prisma-delete-user-done (and -start)
Lecture: Solution: Updating a user in Prisma Branch - prisma-update-user-done (and -start)
Lecture: Prisma Add Todo Model & fix createTodo Branch - prisma-add-todo-model-done (and-start)
Lecture: Query all todos with Prisma Branch - prisma-query-all-todos-done (and -start)
Lecture: Prisma delete todo from database Branch - prisma-delete-todo-done (and -start)
Lecture: Deleting MANY todos in Prisma Branch - prisma-delete-many-todos-done (and -start)
Lecture: Update Single Todo & reset many todos Branch - prisma-update-single-many-todos-done (and -start)
Lecture: Prisma one to many relationships Branch - prisma-one-to-many-done (and -start)
Lecture: Find single user and cleanup Branch - find-single-user-done (and -start)
Lecture: Cascading Delete temporary hack Branch - tmp-cascade-delete-done (and -start)
Lecture: Signing up a User Branch - auth-signup-done (and -start)
Lecture: graphQL-yoga to apollo-server-express Branch - auth-apollo-server-done (and -start)
Lecture: Login authentication with Passport Branch - passport-authenticate-done (and -start)
Lecture: User and password validation Branch - validate-user-pw-done (and -start)
Lecture: Serialize User and Session Setup Branch - complete-login-done (and -start) (Sorry, inaccurate branch name login is not complete yet)
Lecture: Deserialize user and me query Branch - deserialize-user-done (and -start)
Lecture: Logout User Solution Branch - logout-user-done (and -start)
Lecture: Login After Signup Solution Branch - login-after-signup-done (and -start)
Lecture: Refactor Resolvers Branch - refactor-resolvers-done (and -start)
------------------ React -------
Lecture: Setup React Branch - setup-react-done (and -start)
Lecture: setup react header Branch - setup-react-header-done (and -start)
Lecture: React Routing Branch - react-routing-done (and -start)
Lecture: UI and Routing Branch - ui-and-routing-done (and -start)
------------- React & GraphQL ---------
Lecture: First GraphQL Query in React Branch - first-query-done (and -start)
Lecture: Display Todos Branch - display-todos-done (and -start)
Lecture: update todos in React Branch - update-todos-react-done (and -start)
Lecture: Add New Todos in React UI Branch - add-new-todo-react-done (and -start)
Lecture: Extract mutation to hooks Branch - extract-to-hooks-done (and -start)
Lecture: Extract queries and mutations challenge and solution Branch - extract-usequery-done
Lecture: Solution: Delete todos in UI Branch - react-delete-todo-done (and -start)
Lecture: Solution: Update todo text Branch - react-edit-todo-done (and -start)
Lecture: Create the Login Page Note - ** I accidentally committed before switching branches, same as above Branch - react-edit-todo-done
Lecture: Login Mutation in React Branch - react-login-done (and -start)
Lecture: Cors and Cookies for Login Branch - cors-done (and -start)
Lecture: Get current User React Branch - getcurrentuser-react-done (and -start)
Lecture: Log out and Logged in State Branch - logout-user-react-done (and -start)
Lecture: Login Error Handling Branch - login-error-done (and -start)
Lecture: Users todos and require Login Branch - todos-auth-query-done (and -start)
Lecture: (Lockdown server) Require Login to Create Todos Branch - require-login-createtodos-done (and -start)
Lecture: Filter results in server and refactor component Branch - filter-todos-react-done (and -start)
Lecture: Filter results in front end Branch - filter-todos-react-pt2-done (and -start)
Lecture: Fetch policy and Cache Branch - filter-todos-react-pt3-done (and -start)
Lecture: Filter by completed status (server) Branch - server-filter-status-done (and -start)
Lecture: Dashboard Toggle Status Branch - dashboard-toggle-status-done (and -start)
Lecture: Filter by completed status finished Branch - filter-by-completed-done (and -start)
Lecture: RefetchQueries Branch - refetchQueries-done (and -start)
Lecture: Get number of results from server Branch - count-from-server-done (and -start)
Lecture: Offset Pagination Part 1 Branch - offset-pagination-done (and -start)
Lecture: Offset Pagination Part 2 Branch - offset-pagination-two-done (and -start)
Lecture: Authentication Context Part One Branch - better-context-done (and -start)
Lecture: Authentication Context Part Two Branch - better-context-two-done (and -start)
Lecture: Simple Signup in React and GraphQL Part one Lecture: Simple Signup Part Two Branch: - react-signup-done (and -start)
Lecture: Stripe CardElement and textFields Branch - stripe-one-done (and -start)
Lecture: Creating a Stripe Customer Branch - stripe-two-done (and -start)
Lecture: Creating a payment method Branch - stripe-three-done (and -start)
Lecture: Creating a Subscription and product Branch - stripe-four-done (and -start)
Lecture: Checkout Error Handling Branch - stripe-four-done