Skip to content

webdevcody/automaker-starter-kit

Repository files navigation

Full Stack Campus

An online community and training platform for aspiring full stack engineers. Master frontend and backend development, build real-world projects, and launch your software engineering career.

🚀 Features

  • Community Posts - Create posts, comment, react, and share media attachments
  • User Profiles - Showcase your skills and portfolio
  • Calendar Events - Community calendar and event management
  • Messaging - Private messaging between community members
  • Members Directory - Discover and connect with other members
  • Notifications - Stay updated with real-time notifications
  • Classroom Modules - Educational content and learning modules
  • Subscriptions - Stripe-powered subscription plans (free/basic/pro)

🛠️ Tech Stack

  • Framework: TanStack Start - Full-stack React framework
  • Database: PostgreSQL with Drizzle ORM for type-safe queries
  • Authentication: Better Auth with email/password authentication
  • Styling: Tailwind CSS with Radix UI components
  • File Storage: AWS S3/R2 with presigned URL uploads
  • Payments: Stripe integration for subscriptions
  • TypeScript: Full type safety throughout

📋 Prerequisites

  • Node.js (v18 or higher)
  • PostgreSQL (via Docker or local installation)
  • npm or yarn

🏃 Getting Started

1. Clone the repository

git clone <repository-url>
cd automaker-starter-kit

2. Install dependencies

npm install

3. Set up environment variables

Copy .env.example to .env and configure:

  • Database connection (PostgreSQL)
  • Better Auth secrets
  • Stripe keys (for payments)
  • AWS S3/R2 credentials (for file storage)

4. Start the database

npm run db:up

5. Run migrations

npm run db:migrate

6. Start the development server

npm run dev

The application will be available at http://localhost:3000

📜 Available Scripts

Development

npm run dev          # Start development server on port 3000
npm run build        # Build for production (includes type checking)
npm run start        # Start production server

Database

npm run db:up        # Start PostgreSQL Docker container
npm run db:down      # Stop PostgreSQL Docker container
npm run db:migrate   # Run database migrations
npm run db:generate  # Generate new migration files
npm run db:studio    # Open Drizzle Studio for database management

Payments

npm run stripe:listen  # Listen for Stripe webhooks in development

📁 Project Structure

src/
├── routes/          # File-based routing with TanStack Router
├── components/      # Reusable React components (ui/ subfolder for base components)
├── db/              # Database configuration and schema definitions
├── data-access/     # Data access layer functions
├── fn/              # Business logic functions and middleware
├── hooks/           # Custom React hooks for data fetching and state management
├── queries/         # TanStack Query definitions for server state
├── utils/           # Utility functions and helpers
└── use-cases/       # Application use cases and business logic

📚 Documentation

Comprehensive documentation is available in the docs/ folder:

🏗️ Architecture Patterns

  • Data Fetching: Uses TanStack Query with custom hooks pattern
  • Authentication: Better Auth with session management
  • File Uploads: Presigned URLs for direct S3/R2 uploads
  • Subscriptions: Stripe-based with plan limits enforcement
  • Type Safety: Full TypeScript with Drizzle ORM schema inference

🤝 Contributing

This project follows a feature-driven development approach. Features are organized into epics and can be found in docs/features/. Each feature is designed to be completed in approximately one day (2-8 hours).

📝 License

[Add your license here]

🔗 Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published