SPATA (SPA Starter) - A comprehensive, production-ready full-stack starter template that gets you from zero to deployment in minutes, not hours.
SPATA eliminates the tedious initial setup tasks that every modern web project requires. Instead of spending days configuring linters, tests, routing, state management, and essential packages, you can focus on building your actual product from day one.
- 🏢 Startups needing to move fast with proven architecture
- 👨💻 Developers who want to skip the boilerplate setup
- 🎯 Product teams focusing on features, not configuration
- 📚 Learning modern full-stack development patterns
SPATA provides a complete ecosystem with four integrated components:
📦 SPATA
├── 🌐 Web App (React SPA)
├── 📱 Mobile App (React Native + Expo)
├── ⚡ API Backend (Express + TypeScript)
└── 📖 Documentation (Docusaurus)
- Framework: React 18 + Vite (lightning-fast development)
- Language: TypeScript (type safety)
- Styling: Tailwind CSS + shadcn/ui (beautiful, accessible components)
- Routing: React Router v7 (client-side routing)
- State Management: React Query (server state) + React Hook Form (form state)
- Testing: Vitest + React Testing Library + jsdom
- Theme: Built-in light/dark mode switcher
- Linting: ESLint with React Query rules
- Framework: React Native + Expo (cross-platform mobile)
- Language: TypeScript
- Navigation: Expo Router (file-based routing)
- State Management: React Query + React Hook Form
- Testing: Jest + React Native Testing Library
- Theme: Custom theme system with light/dark mode
- Linting: ESLint with React Query rules
- Runtime: Node.js + Express
- Language: TypeScript
- Database: Prisma ORM + SQLite (easily swappable)
- Validation: Express Validator
- Testing: Jest + supertest
- Development: Hot reload with nodemon
- Database Tools: Migrations, seeding, and reset capabilities
- Framework: Docusaurus v3
- Language: TypeScript + MDX
- Features: Blog, versioning, search, and internationalization ready
# Clone the repository
git clone <your-repo-url>
cd spata
# Choose your component and get started!cd app
npm install
npm run dev- Opens at
http://localhost:5173 - Hot reload enabled
- React DevTools & React Query DevTools included
cd mobile
npm install
npm run start- Scan QR code with Expo Go app
- Works on iOS, Android, and web
- Hot reload across all platforms
cd api
# Setup environment
cp prisma.env .env
npm install
npm run migrate # Setup database
npm run seed # Add sample data
npm run dev # Start development server- Runs at
http://localhost:3000 - Database UI at
npx prisma studio - API automatically restarts on changes
cd doc
npm install
npm run start- Opens at
http://localhost:3000 - Live editing with hot reload
- Production build with
npm run build
spata/
├── 📱 app/ # React Web Application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route components
│ │ ├── lib/ # Utilities and configuration
│ │ └── assets/ # Static assets
│ ├── tests/ # Component and integration tests
│ └── public/ # Public assets
│
├── 📲 mobile/ # React Native Mobile App
│ ├── app/ # Expo Router pages
│ ├── components/ # Reusable mobile components
│ ├── constants/ # App constants and themes
│ └── __tests__/ # Mobile app tests
│
├── 🔧 api/ # Express API Backend
│ ├── src/
│ │ ├── routes/ # API route handlers
│ │ └── index.ts # Express server setup
│ ├── prisma/ # Database schema and migrations
│ └── __tests__/ # API endpoint tests
│
└── 📚 doc/ # Docusaurus Documentation
├── docs/ # Documentation pages
├── blog/ # Blog posts
└── src/ # Custom components
Each component includes comprehensive testing setup:
# Web App Testing
cd app && npm test
# Mobile App Testing
cd mobile && npm test
# API Testing
cd api && npm testnpm run dev- Start development servernpm run build- Production buildnpm run preview- Preview production buildnpm test- Run tests with Vitestnpm run lint- Run ESLint
npm run start- Start Expo development servernpm run android- Run on Android device/emulatornpm run ios- Run on iOS device/simulatornpm run web- Run as web appnpm test- Run tests with Jest
npm run dev- Start development server with hot reloadnpm run build- Compile TypeScriptnpm run start- Start production servernpm run migrate- Run database migrationsnpm run seed- Seed database with sample datanpm run migrate:reset- Reset databasenpm test- Run API tests
npm run start- Start development servernpm run build- Build for productionnpm run serve- Serve production build locally
- Web: Modify
tailwind.config.jsand shadcn/ui components - Mobile: Update theme constants in
constants/Colors.ts - Both apps include light/dark mode switching out of the box
cd api
# Edit prisma/schema.prisma
npm run migrate- API: Copy
prisma.envto.envand customize - Web/Mobile: Add environment variables as needed
- Vercel/Netlify: Connect your Git repository
- Static Hosting: Run
npm run buildand deploydist/folder
- Expo: Run
expo buildfor app store deployment - Development Build: Use EAS Build for custom native code
- Railway/Render: Connect your Git repository
- VPS: Use PM2 with
npm run build && npm run start
- GitHub Pages: Use
npm run deploy - Static Hosting: Deploy
build/folder afternpm run build
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
- Authentication System - JWT-based auth with user management
- Database Options - PostgreSQL, MySQL configuration guides
- Deployment Scripts - One-command deployment to popular platforms
- Component Library - Extended shadcn/ui component collection
- Testing Coverage - E2E testing with Playwright
- Monitoring - Built-in error tracking and analytics
- i18n Support - Internationalization for global apps
This project is licensed under the MIT License - see the LICENSE.md file for details.
- 🐛 Issues: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📖 Documentation: Visit
/docafter running the docs server
Built with ❤️ by Fairway Technology
⭐ Star this repo if SPATA helps you build faster! ⭐