Skip to content

mohammedzom/job-app

Repository files navigation

🌐 Shaghalni β€” Job Platform

A modern, bilingual (Arabic/English) job marketplace connecting employers and job seekers.

PHP Laravel Tailwind CSS Alpine.js License Releases

πŸš€ Live Demo: https://mohammedzom.online


πŸ“Œ Overview

Shaghalni is the main user-facing application for the Shaghalni Job Platform. It provides a seamless experience for job seekers to find listings, build their profiles, and submit job applications, while also incorporating AI to analyze resumes.

This project delivers a premium "Cosmic Dark" UI experience, ensuring responsive and highly polished user interactions.

Backend: Fully developed by @mohammedzom
Frontend / UI: Designed with the assistance of AI (Claude by Anthropic / Gemini)


πŸ” Live Demo & Test Credentials

You can test the live application using the following seeded account. This account provides access to explore the job seeker features, including profile management, AI resume parsing, and job applications.

(Note: The database is periodically reset. Feel free to register a new account to test the full onboarding process).


✨ Key Features

πŸ‘€ Job Seeker Profiles & Resumes

  • Comprehensive user profiles.
  • Integrated Resume Parsing and AI Analysis (extracting skills, education, and experience dynamically).
  • Premium resume view interface inline with modern standards.

πŸ’Ό Job Search & Applications

  • Browse and filter job vacancies dynamically.
  • Detailed job display pages.
  • Job application tracking and management for job seekers.

🌍 Internationalization (i18n)

  • Full English (LTR) and Arabic (RTL) support.
  • Localization of UI strings.
  • RTL layout flips automatically.

🎨 Premium UI/UX Design

  • Cosmic Dark theme tailored for a high-end experience.
  • Responsive mobile-first layouts.
  • Dynamic interactions, toast notifications, and modals using Alpine.js and Tailwind CSS.

πŸ› οΈ Tech Stack

Layer Technology
Language PHP 8.5
Framework Laravel 13
Frontend CSS Tailwind CSS v4
Interactivity Alpine.js v3
Templating Blade
Database MySQL / SQLite
Build Tool Vite

πŸ”— Related Repositories & Architecture

This application is part of a broader ecosystem. To maintain consistency, Eloquent Models are shared between the main job platform and the backoffice dashboard via a local package.

All three projects should ideally be placed in the same parent directory to correctly resolve the local composer path for the shared library.

Project Link Role
🌐 Job Platform (User-Facing) mohammedzom/job-app This repository (Main application for job seekers)
🏒 Backoffice Dashboard mohammedzom/job-backoffice Administration & Company Dashboard
πŸ“¦ Shared Models Library mohammedzom/job-shared Local library containing shared Eloquent models

πŸš€ Getting Started

Prerequisites

  • PHP >= 8.2
  • Composer
  • Node.js >= 18
  • MySQL or SQLite

Installation

# 1. Create a directory for the project
mkdir job-project

# 2. Enter the directory
cd job-project

# 3. Clone the repository library
git clone https://github.com/mohammedzom/job-shared.git

# 4. Clone the backoffice
git clone https://github.com/mohammedzom/job-backoffice.git

# 5. Enter the directory backoffice
cd job-backoffice

# 6. Install PHP dependencies
composer install

# 7. Install Node dependencies
npm install

# 8. Copy environment file and configure
cp .env.example .env
php artisan key:generate

# 9. Set up the database in .env (make sure it connects to the same DB as backoffice if needed), then run migrations
php artisan migrate --seed

# 10. Build frontend assets
npm run build

# 11. Serve the application (optional)
php artisan serve --port=8001

# 12. Go back to the parent directory
cd ..

# 13. Clone this repository
git clone https://github.com/mohammedzom/job-app.git

# 14. Make sure you have the following directory structure:
job-project/
β”œβ”€β”€ job-app/
β”œβ”€β”€ job-shared/
└── job-backoffice/

# 15. Enter the directory
cd job-app

# 16. Install PHP dependencies
composer install

# 17. Install Node dependencies
npm install

# 18. Copy environment file and configure
cp .env.example .env
php artisan key:generate

# 19. Set up the database in .env (make sure it connects to the same DB as backoffice if needed), then run migrations
php artisan migrate

# 20. Build frontend assets
npm run build

# 21. Serve the application
php artisan serve

Development Mode

# Run Vite dev server with hot reload
npm run dev

# In a separate terminal, serve Laravel
php artisan serve

πŸ“ Project Structure (Key Directories)

app/
β”œβ”€β”€ Http/Controllers/       # Controllers for Jobs, Resumes, User Profile...
β”œβ”€β”€ Services/               # Business logic (e.g. OpenAI parsing)
└── ...

job-shared/ (External package)
└── src/Models/             # Eloquent models with relationships & casts

resources/
β”œβ”€β”€ views/
β”‚   β”œβ”€β”€ layouts/            # App shell
β”‚   β”œβ”€β”€ components/         # Reusable Blade components
β”‚   β”œβ”€β”€ jobs/               # Job vacancy listings & details
β”‚   β”œβ”€β”€ resumes/            # Resume building & viewing
β”‚   └── job-applications/   # Job Application tracking
β”œβ”€β”€ css/
β”‚   └── app.css             # Global design system
└── js/
    └── app.js              # Interactivity entry point

πŸ‘¨β€πŸ’» Author

Mohammed Zomlot
Backend Developer & DevOps Engineer | Laravel πŸ“Ž GitHub @mohammedzom


πŸ“¦ Releases & Versioning

This project follows Semantic Versioning. We use GitHub Releases to distribute stable versions of the application.

To see the latest changes, features, and bug fixes, please visit the Releases page.

Each release contains:

  • Detailed Changelog.
  • Source code (zip/tar.gz).
  • Instructions for upgrading from previous versions (if applicable).

πŸ“„ License

This project is open-sourced software licensed under the MIT License.

About

A modern, bilingual (Arabic/English) job marketplace connecting employers and job seekers with AI-powered resume parsing.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages