Installation
This guide will help you install and set up Smart Academic Hub on your local development machine.
Prerequisites
Before you begin, ensure you have the following installed:
Backend Requirements
- PHP 8.2 or higher
- Composer (latest version)
- MySQL 8.0 or higher
- Redis (optional, for queues and caching)
Frontend Requirements
- Node.js 20.x or higher
- npm 10.x or higher
Mobile Requirements
- Node.js 20.x or higher
- npm 10.x or higher
- Expo CLI
- iOS Simulator (Mac only) or Android Emulator
Installation Steps
1. Clone the Repository
git clone https://github.com/smartacademichub/SmartAcademicHub.git
cd SmartAcademicHub
2. Install Root Dependencies
npm install
This will install workspace dependencies including concurrently for running multiple dev servers.
3. Setup Backend (Laravel)
cd backend
# Install Laravel and dependencies
composer create-project laravel/laravel . "12.*"
# Install additional packages
composer require laravel/sanctum
composer require --dev laravel/pint
# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generate
4. Setup Frontend (React)
cd ../frontend
# Create Vite project
npm create vite@latest . -- --template react-ts
# Install dependencies
npm install
# Install Tailwind CSS
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
# Install additional packages
npm install react-router-dom axios @tanstack/react-query zustand
npm install -D @types/node
5. Setup Mobile (Expo)
cd ../mobile
# Create Expo project
npx create-expo-app@latest . --template blank-typescript
# Install dependencies
npm install
# Install NativeWind
npm install nativewind
npm install --save-dev tailwindcss@3.3.2
npx tailwindcss init
6. Setup Documentation (Docusaurus)
cd ../documentation
# Install dependencies
npm install
Running the Platform
Option 1: Run All Services
From the root directory:
npm run dev
This will start:
- Backend API: http://localhost:5000
- Frontend Web: http://localhost:5001
- Mobile: Expo Dev Server
- Documentation: http://localhost:3000
Option 2: Run Individual Services
# Backend only
npm run dev:backend
# Frontend only
npm run dev:frontend
# Mobile only
npm run dev:mobile
# Documentation only
npm run dev:docs
Verify Installation
- Backend: Visit http://localhost:5000/api/v1/health
- Frontend: Visit http://localhost:5001
- Documentation: Visit http://localhost:3000
- Swagger UI: Visit http://localhost:5000/api/documentation
Next Steps
Common Issues
Port Already in Use
If ports 5000, 5001, or 3000 are already in use, you can change them:
- Backend: Edit
.envand addAPP_PORT=8001 - Frontend: Edit
vite.config.tsand setserver.port - Documentation: Edit
docusaurus.config.jsand set port in start command
Database Connection Error
Ensure MySQL is running and credentials in .env are correct.
Module Not Found
Run npm install in the affected directory.