A powerful data analysis and visualization SaaS platform with authentication, payments, and a modern UI.
- 🔐 Authentication with Google OAuth
- 💳 Stripe payment integration
- 🎨 Modern UI with Tailwind CSS and Shadcn UI
- 📱 Responsive design
- 🔍 SEO optimized
- 🚀 Full-stack TypeScript (React + Node.js)
- 📊 MongoDB database integration
- 🔄 Monorepo structure with workspaces
- Bun (latest version)
- MongoDB
- Stripe account
- Google OAuth credentials
- Doppler CLI
-
Install MongoDB:
- macOS:
brew install mongodb-community
- Windows: Download and install from MongoDB website
- Linux: Follow distribution-specific instructions from MongoDB docs
- macOS:
-
Start MongoDB:
- macOS/Linux:
mongod --dbpath=/path/to/data/directory
- Windows:
mongod --dbpath=C:\path\to\data\directory
- Or use the MongoDB service if installed
- macOS/Linux:
-
Verify MongoDB is running:
- Connect to MongoDB shell:
mongosh
- You should see a connection to localhost:27017
- Connect to MongoDB shell:
The project includes scripts to seed your database with sample data:
- Reset Everything: Delete all data and reseed from scratch
bun run --cwd server db:reset
Or run individual commands:
-
Seed Database: Creates tables and populates them with sample data
bun run --cwd server db:seed
-
Delete Data: Removes all data except user accounts
bun run --cwd server db:delete
Note: The seeding script uses the email specified in the script to associate data with a user. Make sure to update the email in the script (server/src/scripts/seeder.ts
) to match an existing user in your database.
- Clone the repository
git clone https://github.com/moritzWa/deeptable.git
cd deeptable
- Install dependencies
bun install
-
Set up environment variables with Doppler
- Install Doppler CLI if you haven't already
- Configure your Doppler project
- No need to manually manage .env files as Doppler will handle this
-
Start the development servers
For the frontend (in the client directory):
cd client
doppler run -- bun dev --elide-lines=5000
For the backend (in the server directory):
cd server
doppler run -- bun dev --elide-lines=5000
Search for "GitHire" in the codebase to find all instances that need to be replaced with your own brand name. Key files to check:
client/src/components/LandingPage.tsx
client/src/App.tsx
client/src/components/navbar.tsx
client/src/app/blog/posts/index.tsx
server/src/index.ts
The application is set up as a monorepo with separate client and server packages:
- Frontend: Deploy the
client
directory to a static hosting service - Backend: Deploy the
server
directory to a Node.js hosting service
MIT
For questions or support, please open an issue in the repository.