Mahmoud Farouk's Work | ContraWork by Mahmoud Farouk
Mahmoud Farouk

Mahmoud Farouk

Lead Java Engineer | SaaS Architecture Specialist

New to Contra

Mahmoud is ready for their next project!

Solving the "Last Mile" in Enterprise SaaS: My Native Multi-Tenancy Architecture 🚀 Hey everyone, After years of building Enterprise applications, I noticed a recurring bottleneck: we spend months just setting up the foundational plumbing (Data isolation, JWT, Billing, RTL support) before touching the actual business logic. To solve this for my own freelance projects and agency clients, I spent the last few months building a production-ready Enterprise Boilerplate. The Stack & Architecture: Backend: Java 25 & Spring Boot 4 Frontend: Angular 21 (Standalone components) Data Isolation: Native Hibernate Multi-tenancy (Strict schema/database separation per tenant) Localization: Dynamic RTL/LTR with bilingual JasperReports generation. I built this specifically to cut a 4-month MVP development cycle down to just 14 days without sacrificing bank-grade security. I’ll drop the link to the live demo in the comments if anyone wants to see the architecture in action. I’m curious to hear from other Fullstack Engineers here—how do you usually handle strict multi-tenancy in your freelance client projects? Do you build from scratch every time, or rely on specific patterns? Would love to discuss architecture and share insights!
1
1
43
Cover image for This project is a simplified
This project is a simplified recruitment platform with the following screens and features: 1- Home (including a search engine) 2- Login 3- Registration 4- Company Dashboard 5- Job Seeker Dashboard 6- Applying for jobs and uploading resumes 7- Adding a new job 8- Editing a job 9- Deleting a job 10- Applicant screen where each applicant can upload their resume 11- Other supplementary jobs with the option to add more
0
25
Cover image for This application is a library
This application is a library application and consists of two parts: a librarian section and a regular user section. The librarian section is responsible for: 1- Adding books, classifying them, determining the number of available copies of each book, and displaying an image of the book. 2- Responding to messages from users. 3- Removing books when they are unavailable. 4- Controlling the quantity of each book available. The regular user can access the application and do the following: 1- Searching for books by name and classification. 2- Borrowing books and agreeing to return them after the specified loan period, or extending the loan period. 3- Viewing the history of previous borrowings. 4- Sending messages to the librarian section and viewing previous questions and answers. 5- If borrowed books are not returned on time, the system will impose a late fee and suspend the user's borrowing privileges until payment is received. Users can pay through the application using bank cards.
0
28
This is a small application using React.JS and Node.JS that organizes books by dividing them into three categories: Read, Want to Read Later, and Currently Reading. You can also search for and add new books. The application is a search engine connected to an API point. You enter the book's name, and if it's available, it will appear. You can then add the book to one of the three categories, where it will be displayed. Books can be easily moved between categories.
0
33