{"data":{"all":{"edges":[{"node":{"frontmatter":{"listName":"🎨 /Etch-a-sketch","nameOfClass":"projects-items miniProjects","popupGithubLink":"https://github.com/CASANOVA660/etch-a-sketch","popupImageAlt":"Etch a sketch app","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/etch-a-sketch.png","popupLiveLink":"https://etch-a-sketch.pantak.net/","techIcons":["html5","css3","javascript"],"title":"Etch-a-sketch","slug":"projects/etch-a-sketch","video":"false","added":"2021-08-01"},"html":"<p>This mini-project was one of the first I have ever built. It is a simple app that creates a grid with desired length and colors squares on hover. App is written with HTML, CSS, and vanilla JavaScript and was my first hands-on experience with DOM manipulation.  Looking back it was a simple but essential project to understand the underlying logic of DOM manipulation and core HTML and CSS concepts.\nPlus - 5-year-olds love it!</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/etch-a-sketch.md"}},{"node":{"frontmatter":{"listName":"🍒 /Sunnyside-Agency","nameOfClass":"projects-items miniProjects","popupGithubLink":"https://github.com/CASANOVA660/Sunnyside","popupImageAlt":"Sunnyside agency screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/SunnysideSS.png","popupLiveLink":"https://sunnyside.pantak.net/","techIcons":["html5","css3","javascript","react","tailwindcss"],"title":"Sunnyside Agency landing page","slug":"projects/sunnyside","video":"false","added":"2021-08-02"},"html":"<h3>Overview</h3>\n<p>The project was a solution to <a href=\"https://www.frontendmentor.io/challenges/sunnyside-agency-landing-page-7yVs3B6ef\" target=\"_blank\" rel=\"noopener\"><span>Sunnyside agency landing page challenge.</span></a>\nI decided that my portfolio of projects is lacking something good-looking and well designed so coding that landing page would be a good experience and asset.</p>\n<h3>The challenge</h3>\n<p>This was my first project using Tailwind CSS. Utility and Mobile First CSS was a challenge itself. Nevertheless, the experience was really good and allowed me to create this project in a little more than 24 hours.</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/sunnyside.md"}},{"node":{"frontmatter":{"listName":"📈 /Expenses Analyzer","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/expenses-analyzer","popupImageAlt":"Expenses analyzer screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/expensesAnalyzer.png","popupLiveLink":"https://expenses-analyzer.pantak.net/","techIcons":["react","html5","css3","bootstrap","d3dotjs"],"title":"Expenses Analyzer","slug":"projects/expenses-analyzer","video":"false","added":"2021-08-05"},"html":"<p>Expenses analyzer is a React-based app, that allows the user to analyze bank statements</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/expensesAnalyzer.md"}},{"node":{"frontmatter":{"listName":"🔗 /Shortly","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/url-shortener","popupImageAlt":"Shortly URL shortener screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/Shortly.webp","popupLiveLink":"https://shortly.pantak.net/","techIcons":["react","html5","css3","tailwindcss"],"title":"Shortly","slug":"projects/shortly","video":"false","added":"2021-08-08"},"html":"<h3>Overview</h3>\n<p>The project was a solution to <a href=\"https://www.frontendmentor.io/challenges/url-shortening-api-landing-page-2ce3ob-G\" target=\"_blank\" rel=\"noopener\"><span>URL Shortener challenge.</span></a>\nIt was a good challenge to solidify my external API usage, responsive layout, and React skills.</p>\n<h3>The challenge</h3>\n<p>The challenge was to integrate with the shrtcode API to create shortened URLs and display them like in the designs.\nUser stories that needed to be fulfilled:</p>\n<ul>\n<li>-View the optimal layout for the site depending on their device's screen size</li>\n<li>-Shorten any valid URL</li>\n<li>-See a list of their shortened links, even after refreshing the browser</li>\n<li>-Copy the shortened link to their clipboard in a single click</li>\n<li>-Receive an error message when the form is submitted if The input field is empty</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/shortly.md"}},{"node":{"frontmatter":{"listName":"🎯 /IP Tracker","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/ip-tracker-master","popupImageAlt":"IP Tracker screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/ip-tracker.webp","popupLiveLink":"https://ip-tracker.pantak.net/","techIcons":["react","html5","css3","tailwindcss"],"title":"IP Tracker","slug":"projects/ip-tracker","video":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/IP-tracker-view.webp","added":"2021-08-24"},"html":"<h3>Overview</h3>\n<p>The challenge consisted of three external API's usage, state management, responsive layout all wrapped in a single-page React App.\nThe project was a solution to <a href=\"https://www.frontendmentor.io/challenges/ip-address-tracker-I8-0yYAH0\" target=\"_blank\" rel=\"noopener\"><span>IP-Tracker challenge.</span></a></p>\n<h3>The challenge</h3>\n<p>User stories that needed to be fulfilled:</p>\n<ul>\n<li>-View the optimal layout for the site depending on their device's screen size</li>\n<li>-See hover states for all interactive elements on the page</li>\n<li>-See their own IP Address on the map on the initial page load</li>\n<li>-Search for any IP addresses or domains and see the key information and location</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/ip-tracker.md"}},{"node":{"frontmatter":{"listName":"💾 /Insurance-DB","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/Insurance-company-database-master","popupImageAlt":"App screenshot","popupImageSrc":"https://raw.githubusercontent.com/Kielx/Insurance-company-database/master/images/data_warehouse.png","popupLiveLink":null,"techIcons":["oracle","python"],"title":"Insurance Company Database","slug":"projects/insurance-company-database","video":"false","added":"2023-01-14"},"html":"<p>The goal of the project was to create a fragment of an insurance company's database and a data warehouse based on it. The database contains information about the insurance company's customers, employees and branches, as well as the insurance policies between these entities. The database and warehouse designed this way allows for easy visualization and development of summaries of the work of all branches, employees, as well as policies taken by clients. The assumption is that a company can offer different types of policies - e.g., home insurance, vehicle insurance - and each customer can take out an unlimited number of policies. The project was developed entirely in the environment offered by Oracle, using SQL Developer and SQL Developer Data Modeler, as well as the SQL*Loader tool. The scripts generating the data with which the database was fed were written in Python using the Faker library.</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/insurance-company-database.md"}},{"node":{"frontmatter":{"listName":"🔍 /AnyGrabber","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/AnyGrabber-master","popupImageAlt":"App screenshot","popupImageSrc":"https://raw.githubusercontent.com/Kielx/anygrabber/master/assets_readme/screenshot1.png","popupLiveLink":null,"techIcons":["python"],"title":"AnyGrabber","slug":"projects/anygrabber","video":"false","added":"2023-07-14"},"html":"<p>AnyGrabber simplifies the process of searching for AnyDesk logs, extracting relevant data concerning IP addresses used\nfor logging in, along with corresponding dates. It also generates .txt and .csv reports based on the data retrieved. The user-friendly interface and localization features make it easy for anyone to use, regardless of technical proficiency. It's portable and can be used on any modern Windows machine without the need for\ninstallation.</p>\n<h2>Key Features</h2>\n<ul>\n<li>Search for logs in default and custom locations</li>\n<li>Extraction of login date and IP address/es</li>\n<li>Generation of checksums for retrieved files</li>\n<li>Creation of .txt and .csv reports based on found data</li>\n<li>Support for English</li>\n<li>User-friendly interface</li>\n<li>Portable</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/anyGrabber.md"}},{"node":{"frontmatter":{"listName":"👨‍💻 /About","nameOfClass":null,"popupGithubLink":"https://github.com/CASANOVA660","popupImageAlt":"Cartoon photo of myself","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/aminb.jpg","popupLiveLink":null,"techIcons":["javascript","nodedotjs","react","html5","css3","cplusplus","c","python","mongodb","express","bootstrap","sass","heroku","netlify","postman","d3dotjs","archlinux","linux","windowsterminal","fontawesome","tailwindcss","amazondynamodb","amazonaws"],"title":"About me","slug":"/about","video":"false","added":null},"html":"<h2>Mohamed amin bouali</h2>\n<ul>\n<li>💡 Well-rounded software engineer student with skills in several programming languages. Passionate about creating a variety of applications, looking at programming as a way to solve problems and new interesting challenges. Ready to take on new projects and collaborate on innovative solutions.</li>\n<li>👨‍🎓 Final-year CS Student at ISET MAHDIA .</li>\n<li>⚡ Creating applications in JavaScript, TypeScript, C, C++, Python and lately experimenting with C# and .Net.</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/info/about.md"}}]},"projects":{"edges":[{"node":{"frontmatter":{"listName":"🔍 /AnyGrabber","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/AnyGrabber-master","popupImageAlt":"App screenshot","popupImageSrc":"https://raw.githubusercontent.com/Kielx/anygrabber/master/assets_readme/screenshot1.png","popupLiveLink":null,"techIcons":["python"],"title":"AnyGrabber","slug":"projects/anygrabber","video":"false","added":"2023-07-14"},"html":"<p>AnyGrabber simplifies the process of searching for AnyDesk logs, extracting relevant data concerning IP addresses used\nfor logging in, along with corresponding dates. It also generates .txt and .csv reports based on the data retrieved. The user-friendly interface and localization features make it easy for anyone to use, regardless of technical proficiency. It's portable and can be used on any modern Windows machine without the need for\ninstallation.</p>\n<h2>Key Features</h2>\n<ul>\n<li>Search for logs in default and custom locations</li>\n<li>Extraction of login date and IP address/es</li>\n<li>Generation of checksums for retrieved files</li>\n<li>Creation of .txt and .csv reports based on found data</li>\n<li>Support for English</li>\n<li>User-friendly interface</li>\n<li>Portable</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/anyGrabber.md"}},{"node":{"frontmatter":{"listName":"💾 /Insurance-DB","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/Insurance-company-database-master","popupImageAlt":"App screenshot","popupImageSrc":"https://raw.githubusercontent.com/Kielx/Insurance-company-database/master/images/data_warehouse.png","popupLiveLink":null,"techIcons":["oracle","python"],"title":"Insurance Company Database","slug":"projects/insurance-company-database","video":"false","added":"2023-01-14"},"html":"<p>The goal of the project was to create a fragment of an insurance company's database and a data warehouse based on it. The database contains information about the insurance company's customers, employees and branches, as well as the insurance policies between these entities. The database and warehouse designed this way allows for easy visualization and development of summaries of the work of all branches, employees, as well as policies taken by clients. The assumption is that a company can offer different types of policies - e.g., home insurance, vehicle insurance - and each customer can take out an unlimited number of policies. The project was developed entirely in the environment offered by Oracle, using SQL Developer and SQL Developer Data Modeler, as well as the SQL*Loader tool. The scripts generating the data with which the database was fed were written in Python using the Faker library.</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/insurance-company-database.md"}},{"node":{"frontmatter":{"listName":"🎯 /IP Tracker","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/ip-tracker-master","popupImageAlt":"IP Tracker screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/ip-tracker.webp","popupLiveLink":"https://ip-tracker.pantak.net/","techIcons":["react","html5","css3","tailwindcss"],"title":"IP Tracker","slug":"projects/ip-tracker","video":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/IP-tracker-view.webp","added":"2021-08-24"},"html":"<h3>Overview</h3>\n<p>The challenge consisted of three external API's usage, state management, responsive layout all wrapped in a single-page React App.\nThe project was a solution to <a href=\"https://www.frontendmentor.io/challenges/ip-address-tracker-I8-0yYAH0\" target=\"_blank\" rel=\"noopener\"><span>IP-Tracker challenge.</span></a></p>\n<h3>The challenge</h3>\n<p>User stories that needed to be fulfilled:</p>\n<ul>\n<li>-View the optimal layout for the site depending on their device's screen size</li>\n<li>-See hover states for all interactive elements on the page</li>\n<li>-See their own IP Address on the map on the initial page load</li>\n<li>-Search for any IP addresses or domains and see the key information and location</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/ip-tracker.md"}},{"node":{"frontmatter":{"listName":"🔗 /Shortly","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/url-shortener","popupImageAlt":"Shortly URL shortener screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/Shortly.webp","popupLiveLink":"https://shortly.pantak.net/","techIcons":["react","html5","css3","tailwindcss"],"title":"Shortly","slug":"projects/shortly","video":"false","added":"2021-08-08"},"html":"<h3>Overview</h3>\n<p>The project was a solution to <a href=\"https://www.frontendmentor.io/challenges/url-shortening-api-landing-page-2ce3ob-G\" target=\"_blank\" rel=\"noopener\"><span>URL Shortener challenge.</span></a>\nIt was a good challenge to solidify my external API usage, responsive layout, and React skills.</p>\n<h3>The challenge</h3>\n<p>The challenge was to integrate with the shrtcode API to create shortened URLs and display them like in the designs.\nUser stories that needed to be fulfilled:</p>\n<ul>\n<li>-View the optimal layout for the site depending on their device's screen size</li>\n<li>-Shorten any valid URL</li>\n<li>-See a list of their shortened links, even after refreshing the browser</li>\n<li>-Copy the shortened link to their clipboard in a single click</li>\n<li>-Receive an error message when the form is submitted if The input field is empty</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/shortly.md"}},{"node":{"frontmatter":{"listName":"📈 /Expenses Analyzer","nameOfClass":"projects-items","popupGithubLink":"https://github.com/CASANOVA660/expenses-analyzer","popupImageAlt":"Expenses analyzer screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/expensesAnalyzer.png","popupLiveLink":"https://expenses-analyzer.pantak.net/","techIcons":["react","html5","css3","bootstrap","d3dotjs"],"title":"Expenses Analyzer","slug":"projects/expenses-analyzer","video":"false","added":"2021-08-05"},"html":"<p>Expenses analyzer is a React-based app, that allows the user to analyze bank statements</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/expensesAnalyzer.md"}},{"node":{"frontmatter":{"listName":"🍒 /Sunnyside-Agency","nameOfClass":"projects-items miniProjects","popupGithubLink":"https://github.com/CASANOVA660/Sunnyside","popupImageAlt":"Sunnyside agency screenshot","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/SunnysideSS.png","popupLiveLink":"https://sunnyside.pantak.net/","techIcons":["html5","css3","javascript","react","tailwindcss"],"title":"Sunnyside Agency landing page","slug":"projects/sunnyside","video":"false","added":"2021-08-02"},"html":"<h3>Overview</h3>\n<p>The project was a solution to <a href=\"https://www.frontendmentor.io/challenges/sunnyside-agency-landing-page-7yVs3B6ef\" target=\"_blank\" rel=\"noopener\"><span>Sunnyside agency landing page challenge.</span></a>\nI decided that my portfolio of projects is lacking something good-looking and well designed so coding that landing page would be a good experience and asset.</p>\n<h3>The challenge</h3>\n<p>This was my first project using Tailwind CSS. Utility and Mobile First CSS was a challenge itself. Nevertheless, the experience was really good and allowed me to create this project in a little more than 24 hours.</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/sunnyside.md"}},{"node":{"frontmatter":{"listName":"🎨 /Etch-a-sketch","nameOfClass":"projects-items miniProjects","popupGithubLink":"https://github.com/CASANOVA660/etch-a-sketch","popupImageAlt":"Etch a sketch app","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/etch-a-sketch.png","popupLiveLink":"https://etch-a-sketch.pantak.net/","techIcons":["html5","css3","javascript"],"title":"Etch-a-sketch","slug":"projects/etch-a-sketch","video":"false","added":"2021-08-01"},"html":"<p>This mini-project was one of the first I have ever built. It is a simple app that creates a grid with desired length and colors squares on hover. App is written with HTML, CSS, and vanilla JavaScript and was my first hands-on experience with DOM manipulation.  Looking back it was a simple but essential project to understand the underlying logic of DOM manipulation and core HTML and CSS concepts.\nPlus - 5-year-olds love it!</p>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/projects/etch-a-sketch.md"}}]},"info":{"edges":[{"node":{"frontmatter":{"listName":"👨‍💻 /About","nameOfClass":null,"popupGithubLink":"https://github.com/CASANOVA660","popupImageAlt":"Cartoon photo of myself","popupImageSrc":"https://raw.githubusercontent.com/CASANOVA660/portfolio/master/public/aminb.jpg","popupLiveLink":null,"techIcons":["javascript","nodedotjs","react","html5","css3","cplusplus","c","python","mongodb","express","bootstrap","sass","heroku","netlify","postman","d3dotjs","archlinux","linux","windowsterminal","fontawesome","tailwindcss","amazondynamodb","amazonaws"],"title":"About me","slug":"/about","video":"false","added":null},"html":"<h2>Mohamed amin bouali</h2>\n<ul>\n<li>💡 Well-rounded software engineer student with skills in several programming languages. Passionate about creating a variety of applications, looking at programming as a way to solve problems and new interesting challenges. Ready to take on new projects and collaborate on innovative solutions.</li>\n<li>👨‍🎓 Final-year CS Student at ISET MAHDIA .</li>\n<li>⚡ Creating applications in JavaScript, TypeScript, C, C++, Python and lately experimenting with C# and .Net.</li>\n</ul>","fileAbsolutePath":"/home/runner/work/portfolio/portfolio/src/markdown-pages/info/about.md"}}]}}}