Welcome to Larastack, a fullstack starter template that combines Laravel for the backend, Next.js for the web frontend, and Expo/React Native for mobile. This starter kit is designed to streamline development for modern, scalable, multi-platform applications.
- Laravel: A robust PHP framework used to build the backend of the application, handle routes, database interactions, and more.
- Lighthouse GraphQL: A GraphQL server package for Laravel that simplifies the implementation of GraphQL APIs.
- Laravel Socialite: Facilitates easy integration with social authentication providers, making it simple to set up user authentication using popular social platforms.
- Next.js: A powerful React framework for building server-side rendered and statically generated web applications.
- Panda CSS: A styling engine used for writing CSS-in-JS, providing flexibility and ease of use in styling components.
- Storybook: A tool for developing UI components in isolation, making it easier to build and test components.
- Expo: A platform and toolchain for building and shipping React Native apps quickly.
- React Native: A framework for building native mobile apps using React.
- Expo Router: File-based routing and navigation for Expo apps.
- GraphQL Integration: Easily create and manage GraphQL endpoints with Lighthouse.
- OAuth Login: Simplified user authentication using Laravel Socialite.
- Custom Components: A set of custom components to ease development when building new features.
- Cross-Platform Setup: Build backend, web, and mobile apps from a single monorepo.
-
Clone the repository:
git clone https://github.com/Liinkiing/larastack.git cd larastack/backend -
Install dependencies using Docker:
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/app" \ -w /app \ composer:latest \ composer install --ignore-platform-reqs -
Add an alias for the
sailcommand to your shell configuration file (e.g.~/.bashrcor~/.zshrc):alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'
-
Copy the example environment file and update your variables:
cp .env.example .env
-
Start the containers:
sail up -d
-
Generate a valid
APP_KEY:sail artisan key:generate
-
Navigate to the frontend directory:
cd ../frontend -
Install dependencies:
pnpm install
-
Run the development server:
pnpm dev
-
Open http://localhost:3000 with your browser to see the result.
-
Navigate to the mobile directory:
cd ../mobile -
Start the Expo development server:
pnpm start
-
Use the terminal prompts to open the app in an iOS simulator, Android emulator, web, or Expo Go.
To learn more about the technologies used in this project, take a look at the following resources:
- Laravel Documentation
- Lighthouse GraphQL Documentation
- Laravel Socialite Documentation
- Next.js Documentation
- Panda CSS Documentation
- Storybook Documentation
- Expo Documentation
- React Native Documentation
The easiest way to deploy your Next.js app is to use the Vercel Platform.
Check out the Next.js deployment documentation for more details.