Web application to manage your personal contacts with basic CRUD functionality with additional features like grouping and others
This application uses Laravel 12 + Laravel Breeze (Vue.js 3 + Inertia).This guide shows the necessary steps to set up the project on your local environment, GitHub Codespace and, explains essential dependencies and basic usage. Check the User Manual
- System Requirements
- Project Setup
- Environment Configuration
- Development Server
- Building for Production
- Testing
- Contributing
- License
To run this project locally, make sure you have the following software installed:
- PHP >= 8.2 except 8.3
- Composer >= 2.x
- Node.js >= 20.x
- npm >= 8.x
- MySQL >= 5.7
First, clone the repository to your local machine:
git clone https://github.com/JimmyKurui/contacts-manager.git
cd contacts-managerInstall the PHP dependencies using Composer:
composer update && composer installNote: If any extensions or composer require commands are required, run them, then re-run the above command.
Install the frontend dependencies using npm or yarn:
npm install
# or
yarn installCopy the example .env.example file to create your own .env configuration file:
cp .env.example .envMake sure to update your .env file with the correct environment settings.
Ensure your MySQL database configuration is set up properly in the .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password
To run the Laravel backend:
php artisan serveThis will start the Laravel development server at http://127.0.0.1:8000.
To run the Vue.js frontend with Inertia.js:
npm run dev
# or
yarn devThis will start the development server for Vue.js at http://localhost:5173.
If you are using a GitHub Codespace for development, set up your dev container using .devcontainer settings. Your environment must have these settings:
- Vite frontend server port is public
- Your APP_URL points to your codespace URL
- Laravel proxies: trust proxies in the middleware for your Vite server
For production environments, you need to build the frontend assets. Run the following command to build the Vue.js assets:
npm run build
# or
yarn buildThis will compile and minify the assets for production.
To deploy the Laravel application, make sure to set the correct environment settings, clear the cache, and migrate the database:
php artisan config:cache
php artisan route:cache
php artisan migrateRun your custom tests with Pest for the backend:
php artisan testFor frontend testing, you can use Jest or any testing library you’ve set up with Vue.js. If using Jest, run:
npm run test
# or
yarn testWe welcome contributions to the project! Please fork the repository, create a new branch, and submit a pull request with your changes.
- Fork the repository
- Create a feature branch (
git checkout -b feature-name) - Commit your changes (
git commit -am 'Add feature') - Push to the branch (
git push origin feature-name) - Submit a pull request