Skip to content

BootStrap Full Stack Web Service Repo - React Client, Node Express Mongoose Server, Includes User & Email Service, Stripe, Google OAuth Integration

Notifications You must be signed in to change notification settings

zahnno/starter-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Full-Stack Application Bootstrapper

A production-ready full-stack application template that provides essential infrastructure and integrations. Fork or clone this repository to quickly start building your web application with a robust foundation.

Features

  • 🔐 Complete Authentication System
    • Email & Password Authentication
    • Google OAuth Integration
    • Password Reset Flow
    • Email Verification
  • 💳 Stripe Integration
    • Subscription Management
    • Payment Processing
    • Webhook Handling
  • 📧 Email Service (AWS SES)
  • 🗄️ MongoDB Integration
  • 🎨 React Frontend with Dark/Light Theme
  • 🔒 Secure Session Management

Tech Stack

  • Frontend: React.js with Vite
  • Backend: Node.js with Express
  • Database: MongoDB with Mongoose
  • Authentication: JWT, Google OAuth
  • Payments: Stripe
  • Email: AWS SES
  • Hosting: AWS S3 (file storage)

Required API Keys

You'll need to set up the following services and add their credentials to your .env files:

Backend (.env)

  1. Google Cloud API key for Gemini
  2. AWS Account with S3 bucket and credentials
  3. Stripe Keys
  4. Mongodb connection string

Setup Instructions

ATLAS_URI=your_mongodb_connection_string
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=your_aws_region
AWS_SES_FROM_EMAIL=your_verified_ses_email

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB
  • Google Cloud API key for Gemini
  • AWS Account with S3 bucket and credentials

Frontend (.env)

Setup Instructions

REACT_APP_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id

Backend Setup

  1. Navigate to the server directory:
    cd server
  2. Install dependencies:
    npm install
  3. Copy example.env to .env and fill in your credentials

Frontend Setup

  1. Navigate to the client directory:
    cd client
  2. Install dependencies:
    npm install
  3. Copy example.env to .env and fill in your credentials

Start Client and Server

  1. In root of directory:
    npm start

Service Setup Guides

MongoDB Setup

  1. Create a MongoDB Atlas account
  2. Create a new cluster
  3. Get your connection string and add it to ATLAS_URI in backend .env

Stripe Setup

  1. Create a Stripe account
  2. Get your API keys from the Stripe Dashboard
  3. Set up webhook endpoints for your application (subscription & invoice)
  4. Add keys to both frontend and backend .env files

Google OAuth Setup

  1. Create a project in Google Cloud Console
  2. Configure OAuth consent screen
  3. Create OAuth 2.0 credentials
  4. Add authorized origins and redirect URIs
  5. Add client ID and secret to .env files

AWS Setup

  1. Create an AWS account
  2. Create an IAM user with SES and S3 access
  3. Verify email addresses in SES
  4. Create an S3 bucket for file storage
  5. Add AWS credentials to backend .env

About

BootStrap Full Stack Web Service Repo - React Client, Node Express Mongoose Server, Includes User & Email Service, Stripe, Google OAuth Integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published