A secure back-office platform for managing portfolio projects and skills.
Built with Symfony, this application allows authenticated users to create, update, delete, and search projects and skills efficiently.
- User Authentication: Secure access for authenticated users.
- Project Management: Add, edit, delete, and search projects with image upload support.
- Skill Management: Add, edit, delete, and sort skills based on custom criteria.
- Image Handling: Manage project images with upload and deletion functionalities.
- PHP - Core backend language.
- Symfony - PHP framework.
- Doctrine ORM - Database management.
- Twig - Templating engine for the frontend.
-
Clone the repository:
git clone https://github.com/mohamedmaghzaoui/BackOffice.git cd BackOffice
-
Install dependencies with Composer:
composer install
-
Set up environment variables:
DATABASE_URL="mysql://username:password@127.0.0.1:3306/db_name" UPLOAD_DIRECTORY="path/to/upload_directory"
-
Create the database:
php bin/console doctrine:database:create
-
Run migrations:
php bin/console doctrine:migrations:migrate
-
Start the Symfony local server:
symfony server:start
-
Access the application:
Visit http://localhost:8000 to access the application in your browser.
Variable | Description |
---|---|
DATABASE_URL |
Database connection string |
UPLOAD_DIRECTORY |
Path to store uploaded images |
-
Add a Project
Route:/addproject
Use this form to add new projects with image upload functionality. -
Edit a Project
Route:/edit/project/{id}
Edit existing projects and update associated images. -
Delete a Project
Route:/delete/project/{id}
Delete projects and remove their associated images from storage. -
Add a Skill
Route:/addskill
Manage your skills with mastery level (0-100). -
Delete and Edit Skills
Routes:/delete/skill/{id}
and/edit/skill/{id}
Use these endpoints to delete or modify skills.
This project ensures user authentication for all CRUD operations on projects and skills. Unauthorized access redirects users to the home page.
Hi, I'm Mohamed Maghzaoui, a passionate software engineer with a wide range of expertise spanning from web development to IoT, cloud, and networking technologies. I am currently exploring new opportunities to grow my skills and contribute to innovative projects.
My goal is to continuously improve my development skills and build impactful applications.
- Check out my portfolio at: https://mohamedmaghzaoui.online
- Connect with me on LinkedIn: Mohamed Maghzaoui