I'm Amir Dahmouni-image

I'm Amir Dahmouni

I am a highly motivated Node.js / React.js Vue.js Developer, highly motivated and passionate about new challenges.
My work approach is team-oriented.
I have a strong passion for solving complex problems.
I constantly strive to improve both Soft & Technical Skills

about-me-image

About me

Enthusiastic and results-driven as a JavaScript Developer, I am energized by taking on new challenges and continually expanding my skills. I am passionate about creating engaging, user-centered web experiences. Collaboration is at the heart of my approach, and I greatly enjoy working harmoniously with multidisciplinary teams to achieve common goals.

  • Location:Lille, France
  • Nationality:Tunisian
  • Interests:Devops, Checkers
  • Study:Software engineering

education

Integrated Preparatory Cycle

Higher Institute of Applied Sciences and TechnologySeptember 2014 – June 2016

Applied Mathematics, Physics, Algorithm, Computer Architecture and Linux System

National Diploma in Computer Engineer

Higher Institute of Applied Sciences and TechnologySeptember 2016 – June 2019

Software Architecture, Advanced Algorithms, and Database Management. Web Development and Software Development using Java, Python, and JavaScript.

Personnal Projects

Game Library : Next.js, React.js, Redux-Sagas, ChakraUi
username: Amir password: root
My project, Game Library, was designed using Chakra UI for the user interface components. It allows users to browse and display games fetched from a RAWG API. The application features various filters, such as searching by game name, filtering games by their availability on different platforms, selecting specific game genres, and sorting games by date. To efficiently manage the data flow and handle asynchronous operations, I have implemented Redux-Sagas. This powerful middleware allows for seamless data management. Library includes a login page . The pagination functionality divides the game results into multiple pages, providing a user-friendly browsing experience.

Cinema Library : React.js, Redux-Sagas, ChakraUi
My project utilizes Chakra UI for UI components, enabling users to explore and showcase movies sourced from the TMDb API. The app offers diverse filters like name-based search, genre-based filtering, and language selection, while sorting options include release date. Developed with Next.js, the project optimizes data handling through Redux-Sagas for asynchronous tasks. The robust middleware ensures smooth data flow. Enhanced by pagination, the app ensures seamless navigation across multiple pages, enhancing user interaction.

Weather- Intuitive Weather Forecast App : Node.js, Express.js, Mongodb, React.js, context hooks
My project is an interface-focused project crafted using CSS to present user components. Powered by OpenWeatherMap API, it delivers a comprehensive weekly weather forecast. Leveraging OpenCageData API, the app features geolocation detection. Users can curate favorites for quick access to weather in chosen cities. This project showcases my UI/UX skills, API integration, and commitment to enhancing daily experiences.

Vue.js Roadmap : Vite, Vue.js, Composition API, Vue Router 3, Pinia, Jest
This project focuses on the core concepts of Vue.js, emphasizing its reactivity, components, and state management system. The component-based model enables a modular and reusable structure, making it easier to manage large applications. Thanks to its reactive system, Vue.js automatically updates the user interface in response to data changes, ensuring a smooth and dynamic experience. The project also explores event handling, the component lifecycle, and integration with external tools.

Work

Full Stack Developer

Quicktext, ParisJune 2024 - September 2024

Velma AI : Node.js, Nest.js, Express.js, MongoDB, React.js, Redux, Microsoft Framework
Maintenance and development of a chatbot dedicated to virtual assistance for hotels, based on a microservices architecture, deployed on Kubernetes and hosted on Azure.
● Fixed issues with exporting dialogue configurations to PDF and aligning RTL languages.
● Updated child dialogue configurations linked to parent configurations in the frontend console service developed in React.js and redux-saga.
● Resolved non-compliance issues between the chatbot and URLs generated for existing booking engines.
● Implemented lazy loading for React.js components to reduce load time.
● Created 8 SEO snippets addressing the most frequently asked questions in each dialogue. The answers were generated by AI integrated into the botHotel and bot-config services deployed on Kubernetes and monitored with Lens.
● Debugged over 7 critical errors in botHotel using the bot framework emulator tool.
● Integrated 5 new 'booking engine' APIs using XML, JSON, and OAuth to enable booking via SumUp with the chatbot in Node.js.
● Improved dialogue configurations in bot-config and adapted botHotel to support AI-generated responses using the Microsoft bot Framework.
● Addressed 3 critical hotfixes for the hotel administrator dashboard.
● Used Jira for ticket management and Bitbucket for version control, pull request management, and code reviews for various services.

Software Engineer

Genext-ITJanuary 2023 - May 2024

Travel Management : Node.js, Express.js, JWT, Axios, MongoDB, React.js, TypeScript, Recoil, Material-UI
● Designed MongoDB models used in the database.
● Developed a highly scalable Node.js and Express.js API and implemented authorization middleware with JWT.
● Created UI components using React.js, Material UI, and TypeScript.
● Implemented sweetalert2 pop-ups for an enhanced UI/UX experience.
● Configured an Axios instance for all frontend services, ensuring optimal HTTPS request management.
● Integrated Recoil for optimized state management and data persistence.
● Applied TDD approach to ensure code quality through code reviews.
● Deployed using Docker Compose, Nginx, and Portainer CE.

Soldx : Node.js, Express.js, React.js, Redux-sagas, Reactstrap
● Added new filters in the product module for point-of-sale in the back office.
● Replicated configuration at the product category level in the back office.
● Developed new endpoints to retrieve product and store reviews using Node.js, Express.js, and MongoDB.
● Built a new backoffice manager interface using Angular to display reviews and favorite products.
● Implemented a new endpoint to retrieve coupon winners by store using Node.js, Express.js, and MongoDB.
● Integrated Redis as a caching system for coupon codes.
● Developed a new backoffice manager interface to display coupon winners.
● Resolved pagination bugs in back-office lists.
● Fixed join and authentication bugs in the Node.js API.
● Addressed shopping cart issues occurring during payment for discounted products on the website.

Edumonde : Strapi, React.js, Next.js, i18-next, Tailwind
● Developed new website pages using React.js, Next.js, and the Strapi (CMS) API to fetch data, utilizing Reactstrap for UI design and components.
● Used Strapi to develop content types in the back office and implemented lifecycle hooks to share courses on our SaaS solution, Odesco.
● Integrated translation using the Strapi i18n plugin in the back office and i18next for front-end local dictionary translation.

Genext Factory Website : Strapi, React.js, Next.js, i18-next, Reactstrap
● Built new website pages using React.js, Next.js, and the Strapi (CMS) API to fetch data while leveraging Reactstrap for UI design and components.
● Integrated translation using react-i18next, the Strapi i18n plugin, and a local dictionary.
● Developed over 5 unit tests using Jest and React Testing Library for a complex React component.
● Collaborated with the development team in an Agile (Scrum) environment.

Full Stack Developer

Fleet, ParisJune 2021 - December 2022

Fleet SaaS & Showcase : Node.js, Express.js, PostgreSQL, React.js, Context Hooks, Cypress.io
Worked on an IT asset management solution tailored for startups and SMEs in the tech sector.
● Developed JavaScript code to automate data retrieval (Scraping).
● Created new web pages and improved existing ones using Next.js and Contentful (CMS) for data fetching, leveraging the Fleet design system.
● Contributed to implementing the Locize API to maintain the website in four languages (English, French, Spanish, German).
● Enhanced filters in the equipment catalog and strengthened search functionality using React components from the Fleet design system.
● Resolved issues with design system components and published a new package version to the NPM repository.
● Contributed to the development of a decision-aid algorithm predicting the likelihood of banks approving IT equipment financing requests for clients. This algorithm, designed for administrators in the back office, utilized data from a PostgreSQL production database and involved collaboration with a data analyst using Python and Node.js.
● Participated in implementing end-to-end tests within CI/CD pipelines on GitHub Actions. These tests ensured the production solution's stability and continuity using Cypress.io.
● Collaborated with the development team in an Agile (Scrum) environment.
● Gained insights into best practices and clean code principles through code reviews.
● Submitted pull requests for resolving issues and introducing new features.

Full Stack Developer

Genext-ITJune 2019 - May 2021

ClassFeed : Node.js, Express.js, MongoDB, React.js, Joi, Socket.IO
Developed a web application "ClassFeed" to connect students and teachers, enabling students to share feedback on course progression.
● Implemented RESTful web services using Node.js and Express.js to enable CRUD operations and seamless communication between the front end, database, and back-end system.
● Managed authentication and authorization using JWT (JSON Web Tokens).
● Configured Cloudinary storage service within the Express.js API for file uploads.
● Integrated a model into reusable React components and consumed the API using Axios at the React front end.
● Utilized Joi to enhance form schema validation, ensuring correct data formats during user form submissions on the frontend.
● Collaborated with the development team in an Agile (Scrum) environment.
● Developed a real-time notification system using Socket.IO.
● Submitted pull requests for branches, resolving issues and introducing new features (+300 commits, +140 branches).

Skills

Spoken languages
French
English
Programming Languages
Typescript
Javascript
Python
Frontend development
React.js
Redux-Saga
Next.js
Vue.js
Apollo Client
Backend development
Node.js
Express.js
Strapi & Contentful CMS
Nest.js
Socket.IO
GraphQL
Databases
MongoDB
PostgreSQL
deployment
Git
Linux
Docker
Jenkins
Nexus
Kubernetes
Testing
Cypress.io
Jest
React Testing Library
Methodologies
Agile Scrum
Kanban

Contact

I can be reached at the following contact details

Github
Github