Angular 2+, .NET, SQL Server, AgGrid, HighCharts
My current company is a supplier of intelligent electrical boxes destined for use in large exposition centers and also at camping sites and in rechargeable vehicle stations. The solution ACCESS allows our customer to impose customizable power and consumption limits on the boxes. This will aid in saving both money and energy in a world where this is becoming more and more a problem.
We began this project over a year ago and continue to stabilize and add functionality with time. The front-end is written in Angular that calls our RESTful server API. The back-end, written in .NET 6 relies heavily on Entity framework to model our objects and interact with our Microsoft SQL Server. On the front-end, we have chosen to use AgGrid and HighCharts librairies to create beautiful, highly functional graphs and data tables. We support three languages currently.
The principal functionalities that we provide in this backoffice web app is the management of ACCESS products, to organize them by event to properly track their energy usage, and to configure them with default settings and set up their Wifi communications. We have implemented import and export to Excel for data management, reactive form validation, reactive UI and UX design among many other modern capabilities.
Angular 2+, nodeJS, Express.js, mongoDB
The goal of this project was to create a new website for a family that I know in France who owns a bed and breakfast, or as it's called there, une chambre d'hôtes. I wrote the front end in TypeScript, HTML, CSS, and JavaScript using Angular and wrote the REST API backend in JavaScript using nodeJS and Express, storing the client reservations in MongoDB.
I deployed both the Angular application and the node server backend using Amazon Web Services (S3 for the front and Elastic Beanstalk for the back end) and I'm now working on a partner mobile app.
AMP framework, HTML, CSS, mobile best practices
The approach I took for my portfolio was to prioritize clean UI and ensure that it was easy to navigate, to see my work, and to contact me if there was an interest in working with me.
I was experimenting with AMP (Advanced Mobile Pages) to see what it could do when I decided that it was a good candidate for making my portfolio site. It involved using all of the native web languages (HTML, CSS, JavaScript) as well as making it easier to implement image effects and animations.
NabSIC, JavaScript, jQuery, Ajax
My previous company was a trusted Enablon partner. As a software engineer I worked primarily on the Enablon Sustainable Development and Inspection Management applications as well as on our own customized Environmental Analysis solution. The database calls are done in NabSIC, a proprietary language, while our front-end customizations were done using JavaScript (primarily jQuery and Ajax) with HTML and CSS.
Flutter, RxDart, GetIt, BLoC, Dio, Sqflite
Available in Google Play and iOS AppStore in France, Spain, and Germany
Part of the ACCESS suite of programs along with the backoffice web app mentioned above in the web development section. The ACCESS Tech mobile app is a tool meant for our customers on the ground to be able to connect directly with the intelligent electrical boxes, configure them on command, run diagnostics to see if they are working as expected, and view a list of logs and energy usage.
The connection to our ACCESS components is done using Bluetooth Low Energy. To identify the product and connect, we provide the user the option to scan the product using the built-in NFC reader of their smartphone or to scan the QR code using the camera. An offline mode is implemented using an Sqflite local storage in case our customers find themselves in a spot with no Internet.
We implement a Clean code architecture, using GetIt for dependency injection and BLoC as our state management system. We rely on SOLID principles to ensure that the code stays manageable and readable long-term.
Swift iOS, UIKit, URLSession, REST APIs, Realm
I created this app as part of an interview process for a start-up. The idea for this app was to give users a way to see what movies are currently playing in cinemas and get information such as who was starring in them, who was the director, screenwriter, etc. I also added the ability to search any movie, old or new, to give it a review, and visit the movie on IMdB (the Internet Movie Database).
I wrote the app in Swift, using native code to write URL requests. Then using two APIs (Movieglu for currently playing movies and OpenMovieDatabase for the pertinent info) I fill a table view, navigating to a detailed view on user click. For user searches, I needed to write a small algorithm to find which film they were most likely looking for. I used Realm as a database service, encoding and decoding JSON using the Codable protocol.
Flutter, Video Editing, Teaching Code, Design
I decided to launch a YouTube channel a few months ago to inspire people to code. I have a passion for technology that I want to share with people. I don't think learning to program is as difficult as people think and that giving them small challenges and letting them follow along is a great place to start.
Not only does this give me an outlet to help others, it also inspires me to search for new challenges, forcing me to find ways to solve problems and also pushing me outside my comfort zone in recording myself, editing the videos, and putting it out there for everyone to see.
Dart, Flutter, HTTP, REST, JSON
This app, currently in progress, connects to my backend NodeJS server that I wrote for the bed and breakfast web project. I am creating this application using Flutter. Here, I fetch the reservations from my MongoDB database using the REST APIs that I wrote. The next step is to write and test all my CRUD operations (Create, Read, Update, Delete) using an auth token to edit and delete client reservations.
SQL, Dart, Flutter, Rive Animations, Audio and Image File Storage
This app was born out of an idea I had to save memories in audio form and attach them to a time and place, as though the memory would "echo" throughout history. The first version will allow users to create memories, with a following version to share them with others and allow users to discover memories using their GPS.
I wrote the app using Flutter, for its flexibility between iOS and Android and also the ease with which you can design the UI. I want a UI that delights the user and therefore spent a lot of time working with animations in Rive for my splash screen and some complex wave mathematics to animate during the audio recording. The audio files are saved in local storage using an SQL database package. The photos here very much represent a work in progress.