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.
- 🔐 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
- 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)
You'll need to set up the following services and add their credentials to your .env files:
- Google Cloud API key for Gemini
- AWS Account with S3 bucket and credentials
- Stripe Keys
- Mongodb connection string
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
- Node.js (v16 or higher)
- MongoDB
- Google Cloud API key for Gemini
- AWS Account with S3 bucket and credentials
REACT_APP_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id
- Navigate to the server directory:
cd server - Install dependencies:
npm install
- Copy
example.envto.envand fill in your credentials
- Navigate to the client directory:
cd client - Install dependencies:
npm install
- Copy
example.envto.envand fill in your credentials
- In root of directory:
npm start
- Create a MongoDB Atlas account
- Create a new cluster
- Get your connection string and add it to
ATLAS_URIin backend.env
- Create a Stripe account
- Get your API keys from the Stripe Dashboard
- Set up webhook endpoints for your application (subscription & invoice)
- Add keys to both frontend and backend
.envfiles
- Create a project in Google Cloud Console
- Configure OAuth consent screen
- Create OAuth 2.0 credentials
- Add authorized origins and redirect URIs
- Add client ID and secret to
.envfiles
- Create an AWS account
- Create an IAM user with SES and S3 access
- Verify email addresses in SES
- Create an S3 bucket for file storage
- Add AWS credentials to backend
.env