Latest Insights
Explore our curated collection of cross-shared social media posts on software engineering and development.
Gain Inspiration with Laravel
Everyone should give laravel a try for a period of time in his carrier before going into something like express or nestjs & React stacks.
The way laravel is solving recurring problems with its built-in features can be a really valuable experience and a great source of inspiration.
why did i use setTimeout with zero delay here
#React Why did i use the seTimeout with 0 delay here ?
the SetTimeout callback will be waiting in queue until the callstack is empty which means waiting until the states updates above are applied.
My 4th Year Project at University: Advanced Microservices Architecture
I thoroughly enjoyed working on this project, where I had the opportunity to acquire a wealth of knowledge. Throughout the process, I engaged in extensive research and put into practice the valuable insights I gained from our dedicated instructor and supervisor, Abdelhamid Malki, over the course of two semesters, encompassing Advanced Databases and Microservices modules.
Supervisor: Abdelhamid Malki
Team:
- Sidali Assoul - Backend Developer, Project Manager
- Manaa Anouar - UI/UX Designer
- Ilyes Alili - Frontend Developer
- Beloufa Soufiane - Backend Developer
- University: ECOLE SUPERIEURE EN INFORMATIQUE 08 MAI 1945, SIDI BEL ABBES
Microservices Architecture
-
Auth Microservice: Acts as an identity provider, handling authorization and authentication.
-
API Gateway Microservice: Manages request routing, client-side load balancing, and calls the "auth microservice." It injects necessary headers after validating the JWT payload.
-
Eureka Server Microservice: Functions as a discovery service, allowing microservice instances to self-register.
-
Worker Microservice: Manages data within the worker bounded context.
-
Company Microservice: Manages data within the company bounded context.
-
Interaction Microservice: Collects statistics about company interactions with workers, including click events, impressions, and views.
-
Storage Microservice: Stores media in storage buckets.
-
Recommendation Microservice: This FastAPI microservice utilizes data collected by the "interaction microservice" to generate recommendations for clients (companies) using a matrix factorization strategy (items: workers, users: companies).
-
Payment Microservice: Manages payment-related functionalities within the company payments bounded context.
-
Hiring Microservice: Manages the workers hiring process.
-
Chat Microservice: Manages real-time messages between companies and their hired workers.
Kafka Integration Message Broker: Acts as a message broker, facilitating asynchronous communication between microservices and managing transactions between them.
Streamlining University Project Management: My 3rd Year Project Journey
I'm glad to share details about my 3th year project at the Higher School of Computer Science 08 May 1945 - Sidi Bel Abbes which is a university management system.
It's web app that solves the problem of managing final year university projects from team creation, supervising, and assigning suggested themes to the teams according to their whiches to graduation and evaluation.
The main goals of our project can be summarized in a chronological order as follows:
-
To launch the platform, the university should set its own configuration variables (rooms, level, type of documents for each level, administrators,admins...) using our desktop application.
-
Then the administrators inject the entities (teachers, students, and enterprises) into the platform either one by one or using an Excel file.
-
Students can find or construct teams using our invitation system.
-
when the team gets created, the members can collaborate together in real time by exchanging documents in what we call 'the team playground.' The team leader can create an announcement to notify the team about important updates or a survey with multiple options to ask the team for their opinions before making a critical decision. Besides the previous options, team members can choose to use the real-time team chat .
-
teachers and enterprises can suggest a theme for a specific level then after a lot of studies, the admins can decide to approve it, which result in making it an official theme or, in other temes, an option for teams of that chosen level.
-
one of the most important features of our platform is team completion, which solves the problem of : respecting the promtion configuration ( min_students_in_team , max_students_in_team) and getting rid of the problem of the students who couldn't find a team by automating this process . with a few clicks, the admin can equilibrate and validate the teams of a specific level.
-
after equilibrating & validating the teams of a specific level, the admin sends wish lists (a wish list: :ordering the themes according to the team wishes, e.g., 1-theme_a, 2-theme_b, 3-theme_c)