For the Garage V. Parrot project, I developed the user interface using React.js. This final study project allowed me to apply my front-end development knowledge and acquire new skills:
- Responsive interface design: Creation of a layout adapted to all devices to effectively present garage services and used vehicles
- React state management: Use of hooks and state management to handle various user interactions
- API communication: Implementation of secure calls to the back-end to retrieve and send data
- Image display: Integration of images hosted on Amazon S3 via signed URLs
- Form system: Development of forms for contact requests and customer reviews submission
- Administrator interface: Creation of a separate dashboard for administrators and employees
This project helped me understand how to structure a complete React application with multiple user access levels and a smooth user experience.
For the back-end part of Garage V. Parrot, I chose Symfony for its robustness and well-organized structure. This development allowed me to explore several essential aspects:
- JWT authentication: Implementation of Lexik JWT Bundle to manage secure user authentication
- Role management: Setup of a differentiated permissions system between administrators and employees
- RESTful API: Creation of structured endpoints for all site functionalities
- Image upload and management: Configuration of Amazon S3 integration to store vehicle images
- Data validation: Implementation of server-side validations to ensure data integrity
- Security: Protection against common attacks and securing sensitive routes
The most enriching part of this development was setting up the authentication system with JWT tokens and the fine-grained management of authorizations based on user roles.
Main Features
The Garage V. Parrot site includes several features adapted to the needs of an automotive garage:
- Services presentation: Detailed display of services offered by the garage
- Used vehicles catalog: Listing with filters and search for available vehicles
- Customer review system: Display of testimonials and possibility to submit new ones
- Contact form: Appointment scheduling and information requests
- Vehicle management: Addition, modification, and deletion of vehicle listings
- Services management: Customization of services displayed on the site
- Review moderation: Validation and publication of customer testimonials
- Employee management: Administration of accounts with different access levels
This final study project allowed me to develop a complete web application from A to Z, implementing advanced concepts on both the front-end and back-end sides. I particularly enjoyed the challenge of creating a system with different authorization levels and the secure management of external resources such as images on Amazon S3.