What is AppLaunchKit?
AppLaunchKit is a powerful and flexible starter kit designed for building universal applications. It combines Expo for mobile development and Next.js for web applications, providing a unified codebase for apps that run seamlessly on iOS, Android, and the web.
Key Features
- Cross-Platform Development: Build for multiple platforms using a single, shared codebase.
- Modular Monorepo Structure: Organized architecture with dedicated sections for Expo and Next.js apps, plus shared resources.
- Expo and Next.js Integration: Leverages Expo’s tools for mobile and Next.js optimizations for web.
- Shared Resources: Centralized repository for reusable components, UI elements, hooks, and services.
- Modules: Includes modules for Authentication, User-Profile, File-Upload,Notifications, Dashboard, Landing-Page, each module is a self-contained entity with its own assets, components, hooks, and other necessary files.
- Authentication Solutions: Includes NextAuth.js and Expo Auth Session for secure user authentication.
- Notifications: Includes push notifications for native apps.
- Database: Includes database for user-profile and file-upload modules.
- Storage: Includes storage for file-upload module.
- Pre-built Core Features: Comes with protected routes, email delivery integration, and Stripe integration for payments.
- Developer Tools: Pre-configured with Storybook, ESLint, and Prettier for improved development workflow.
- TypeScript Support: Includes TypeScript configuration for type-safe development.
AppLaunchKit provides a comprehensive foundation for your project, focusing on cross-platform compatibility, code reusability, and development efficiency. It empowers developers to build robust, scalable, and maintainable universal applications with a consistent user experience across all platforms.
Project Structure Overview
AppLaunchKit follows a well-organized structure designed to promote scalability and ease of maintenance:
- The project is divided into two main parts:
/backend
for the backend application and/frontend
for the frontend monorepo. - The frontend monorepo contains separate directories for Expo and Next.js applications, allowing for platform-specific optimizations.
- Shared resources like components, hooks, and utilities are centralized in the
/packages
directory, promoting code reuse across platforms. - The structure includes feature-based modules (e.g., dashboard, file-upload, landing-page) to organize code logically.
- Each module is self-contained with its own assets, components, hooks, and other necessary files, promoting modularity and easier maintenance.
- Configuration files for TypeScript, ESLint, and Prettier are included to ensure consistent code quality and style across the project.
This thoughtful organization allows developers to easily navigate the project, share code between platforms, and scale the application efficiently as it grows.