A modern medical management application built with Laravel 12, Vue.js 3, Inertia.js, Jetstream, Filament Admin Panel, and PostgreSQL.
Before you begin, ensure you have the following installed on your system:
git clone <repository-url>
cd medigo
composer install
Copy the .env.example file to .env:
cp .env.example .env
Generate the application key:
php artisan key:generate
Edit the .env file and update your PostgreSQL credentials:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=medigo
DB_USERNAME=postgres
DB_PASSWORD=your_password
Connect to PostgreSQL and create the database:
psql -U postgres -c "CREATE DATABASE medigo;"
Or if youβre already in psql:
CREATE DATABASE medigo;
php artisan migrate
This will create all necessary tables including:
npm install --legacy-peer-deps
Start both Laravel and Vite dev server with a single command:
npm run start
This will start:
http://127.0.0.1:8000composer dev
This runs Laravel server, queue worker, logs, and Vite all together.
Terminal 1 - Laravel Server:
php artisan serve
Terminal 2 - Vite Dev Server:
npm run dev
php artisan make:filament-user
Follow the interactive prompts to create your admin user:
php artisan tinker
Then run:
$user = \App\Models\User::create([
'name' => 'Admin User',
'email' => 'admin@example.com',
'password' => bcrypt('password'),
]);
$user->email_verified_at = now();
$user->save();
http://127.0.0.1:8000/adminhttp://127.0.0.1:8000/ (redirects to admin panel)Log in with the credentials you created using one of the methods above.
medigo/
βββ app/
β βββ Actions/ # Jetstream actions (user management)
β βββ Filament/ # Filament admin resources, pages, widgets
β βββ Http/
β β βββ Controllers/
β β βββ Middleware/
β βββ Models/
β βββ Providers/
β βββ Filament/ # Filament admin panel configuration
βββ config/ # Configuration files
βββ database/
β βββ migrations/ # Database migrations
β βββ seeders/ # Database seeders
βββ public/ # Public assets
βββ resources/
β βββ css/ # CSS files
β βββ js/ # Vue.js components and pages
β β βββ Components/ # Reusable Vue components
β β βββ Layouts/ # Inertia layouts
β β βββ Pages/ # Inertia pages
β βββ views/ # Blade templates (minimal, mainly for Inertia)
βββ routes/
β βββ web.php # Web routes
β βββ api.php # API routes
βββ storage/ # Storage for logs, cache, etc.
The Filament admin panel includes:
app/Filament/Admin/Resources)The application uses:
npm run build
php artisan test
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear
composer pint
.env - Environment variablesconfig/database.php - Database configurationapp/Providers/Filament/AdminPanelProvider.php - Filament admin panel settingsvite.config.js - Vite build configurationtailwind.config.js - Tailwind CSS configurationsudo chown -R 501:20 "/Users/bindeshpandya/.npm"
.env database credentialspsql -U postgres -lnpm run dev is runningcanAccessPanel() returning true in User modelapp/Providers/Filament/AdminPanelProvider.php is registeredphp artisan config:clearThis project is open-sourced software licensed under the MIT license.
Contributions are welcome! Please feel free to submit a Pull Request.
Happy Coding! π