Skip to content

SecteurPrive


secteurprive.ma was a platform for businesses to share and find business deals, for example if someone is looking for a partner for a business opportunity, he will make an offer in the platform, sharing his idea and how to reach out to him; people then if interested could contact him. the project was developed using angular with html and css in the frontend side and Lumen (laravel) in the backend, and mysql as a database.


Fink


fink.ma is an online platform that allows businesses in morocco to publish informations about their activity, which intern allows clients to easily discover these services, and contact them easily. I worked on both the frontend using angular(html/css) with typescript and the backend using nodejs and expressjs library and the db using mongodb. and implemented faster search results using elasticsearch. I also automated the deployment of the app using a collection of scripts intergrated with the ci/cd pipelines. and also implemented login using other social media platforms. and we used react to create a small backoffice for the administrators of the application.


Winnr


winnr.gg is a giveway platform where visiters watche gamer's streams and earn tickets, which allows them to get a chance to win prizes. they also can invite their friends as well and earn more tickets, each ticket is a chance to win a prize. the application is developed using angular, firebase, nodejs and google cloud platform. my mission was mostly to increase the app performance and increase loading speed because it was critical to gain new users, so I introduced many techniques to do so including server side rendering so that the first rendering is done on the server increasing the speed of page rendering by having the first contentful paint as fast as possible. I also compresses assets using brotli algorithm to reduces their size and increase loading time. and inline css on the html, to reduce the number of http request the page made. I also split the app into lazy loadable modules, so the app is not loaded all at the same time, and only the parts needed are loaded, significantly improves performance. to improve users experience we also make use of preload strategy, that fetches modules in the background when their related url appears in the user's window and thus more likely to click on them. to increase angular performance on low end devices we used angular's Onpush change detection strategy to rerender components only when some of its input changes (pure components). some resources (css/js files) are only required by certain pages so we lazy load those as well. and many other techniques which I wrote about at https://noureddine.xyz/blog/web/enhance-angular-performance/ . I also implements ci/cd pipeline so that any changes pushed to master branch will automatically be deployed to staging environment for testing. the main app also a separate admin panel written with react and I had a chance to work on some small tasks on it.


RAM TAT


this is an outsourced client project made for an airline company in morocco called RAM(https://www.royalairmaroc.com), used to track the time taking by different flights, hence the name (TAT = turn around time), and display data in good looking ui interface. to help airport staff better predict the timing of the flights, and allocate resources efficiently to increase the productivity of the airport and decrease flight's latency. for example there are users in the app (airport staff) which get assigned a specific task of an aircraft e.g refueling, cleanup waste, maintenance, etc. and I used tailwind to create a good looking ui interface, and added typescript on top of react to to catch as much bugs at compile time as possible. we did also add basic tests using nodejs.


RAM Formation


ram-formation is an outsourced client project made for an airline company in morocco called RAM(https://www.royalairmaroc.com), used to keep track of interns, instructors and certification processes in the company. our task was to make the frontend side of this application using react and tailwindcss. the backend will implemented in there side.




Workflow


the workflow app came to replace a set of old and deprecated apps within the bank, using single application with unified interface developed using modern technologies, aiming for portability, security and scalibility. an application made for the bank internal use, mainly used by different branches of the bank, to process different types of loan requests by clients, and determine their eligibility to these loans through information gathered from them, and calculates interest rates accordingly. and also contains several other features, like distribute those loan requests to other agents for cross checking and conduct more carefull examination of these requests. and also has privileges management system, to give users capabilities to alter informations if needed, because the app was meant to be a unified interface used by different agents to collect loan requests, and by managers to monitor the activities of different agents and do other privileged tasks, like creating accounts for agents and distribute/strip capabilities from them. all of this through a portable, visually appealing ui insterface that users could access through a range of devices from mobile to tablets to desktop. the frontend is using angular (html/css) and typescript and for the backend part we used spring boot, and oracle pl/sql in the database