Software Developer
SQL
Node JS
TypeScript
JavaScript
C#
Security & Auth: 4/10
Active 12 hours ago
+20 (10) 05750730
Invite to interview
Message
Download CVCV
Overview
Technical skills
Timeline
Roles
Overview
Backend API engineer (middle level) with stronger experience building RESTful Node.js backends for e-commerce workflows and additional exposure to ASP.NET-based systems; the developer's most important strength is implementing end-to-end request handling and business logic in controllers. The strongest proven skill is pragmatic API and data-layer implementation for e-commerce features, as shown by product pagination/filtering, cart management, Stripe checkout integration and stock updates in product.controller.js and cart.controller.js. What is not evidenced publicly is production-grade observability, formal API versioning and large-scale distributed design patterns such as queuing, retries with jitter or circuit breakers.
Technical skills
SQL
Node JS• Middle
TypeScript
JavaScript• Junior
C#• Middle
Node JS
Express
Mongoose
Bcrypt
Dotenv
C#
Entity Framework Core
.NET
ASP.NET Core
Databases
MS SQL
Frontend
Bootstrap
JQuery
React.js
Tailwind CSS
PostCSS
npm
Angular
DevOps
Git
AI/ML
AI Agents
LLM
Prompt Engineering
Claude
Copilot
Timeline
Software Engineer
•
Middle
FlairsTech
•
Full-Time
Developed and maintained full-stack web applications using ASP.NET Core and Angular with SQL Server as the database. Implemented product features, fixed defects, and improved existing functionality for reliable, maintainable releases. Worked in an Agile environment with testing and code reviews. Used AI-assisted tools (GitHub Copilot and Claude) to accelerate coding and debugging while keeping code quality.
ASP.NET Core
Angular
C#
MS SQL
Git
Copilot
Claude
Suez Canal University
Bachelor's Degree •
Civil Engineering
Middle Backend Developer
Confidence: Medium API Engineer
Backend API engineer (middle level) with stronger experience building RESTful Node.js backends for e-commerce workflows and additional exposure to ASP.NET-based systems; the developer's most important strength is implementing end-to-end request handling and business logic in controllers. The strongest proven skill is pragmatic API and data-layer implementation for e-commerce features, as shown by product pagination/filtering, cart management, Stripe checkout integration and stock updates in product.controller.js and cart.controller.js. What is not evidenced publicly is production-grade observability, formal API versioning and large-scale distributed design patterns such as queuing, retries with jitter or circuit breakers.
API Design
3/10
How well APIs are designed
API design shows conventional REST controllers with pagination, sorting and field whitelisting, but lacks versioning, idempotency keys, consistent error contract documentation and formal API version strategy.
Evidence
Amr-Hani/PlantoBackEndNodeJS/controllers/product.controller.js: getAllProduct / getProductsByPram implement pagination, sorting and filtering
Amr-Hani/PlantoBackEndNodeJS/controllers/cart.controller.js: addItemToCart and deleteItemFromCart enforce allowed-fields whitelists and return AppError responses
Data Layer & Database
3/10
Working with databases
Data layer uses Mongoose with some aggregation and populate calls and sensible checks, but there is no evidence of explicit transaction handling, schema evolution strategy for Mongo, or hand-tuned indexes in code.
Evidence
Scalability & Performance
2/10
Handling load and speed
Basic scalability practices are present (pagination, limited queries, use of aggregation) but no caching/invalidation, no queue-based decoupling for long-running updates, and no documented load-shedding or connection pooling controls.
System Architecture
3/10
Overall system structure
Code is structured into controllers, middlewares, models and utils (clear module boundaries) in a single-service Express app, but there is no evidence of multi-service decomposition, explicit config/secret management beyond dotenv or service-level graceful degradation patterns.
Security & Auth
4/10
Protecting data and access
Reasonable security basics are implemented: password hashing, JWT verification, token blacklist for logout, field whitelisting and express-validator checks, but missing are rate limiting, stricter token lifecycle controls, refresh/revoke flows and hardened input sanitization in some places.
Evidence
Amr-Hani/PlantoBackEndNodeJS/controllers/users.controller.js: register/login use bcrypt for hashing and generateJWT; logOut stores tokens in BlackListTokens
Amr-Hani/PlantoBackEndNodeJS/controllers/cart.controller.js: getUserIdFromToken uses jwt.verify and controllers validate request fields with express-validator
Reliability & Observability
3/10
Stability and monitoring
Errors are handled via a centralized AppError pattern and async wrapper, and validation errors are surfaced, but there is little evidence of structured logging, correlation IDs, retry/backoff strategies, circuit breakers or metrics/alerting hooks.
Verified artifacts
Expertise
Node.js• Middle
Industries
Commerce• Middle
Software• Middle
Technologies
C#• Middle
.NET
ASP.NET Core
Entity Framework Core
Mongoose
Dotenv
Recommendations
- Use for building and extending RESTful e-commerce backends: carts, checkout, product search and basic auth flows.
- Improve and harden existing services by adding structured logging (correlation ids), metrics and request tracing instrumentation.
- Implement operational resilience: introduce background workers/queues for stock and payment post-processing and add retry/backoff where external APIs are used.
- Consolidate auth lifecycle: add refresh tokens, token expiry handling and automated token revocation strategies.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Frontend Developer
Confidence: Medium Generalist
Backend Node JS engineer at a middle level focused on building Express APIs for e-commerce functionality. The strongest proven skill is implementing e-commerce server flows including cart management, stock updates and checkout integration as evidenced by cart.controller.js and product.controller.js. Frontend component work, formal test coverage, transactional safety for multi-document updates and measured performance profiling are not evidenced in the public human-authored code.
UI Component Architecture
How interface parts are built
Not evidenced in public code
Responsive & Cross-browser
Works on all screens and browsers
Not evidenced in public code
Performance Optimization
2/10
Speed of the interface
Basic performance-aware patterns are present such as pagination and aggregation queries, but no measured optimizations or profiling artifacts.
Accessibility & Semantics
Usable for everyone
Not evidenced in public code
State Management & Data Flow
3/10
Managing data in the app
Clear server-state and data-flow handling for e-commerce flows with validation, explicit request-field checks, JWT handling and cart-to-stock transitions, but no transactional safety or request cancellation/race handling.
Evidence
Amr-Hani/PlantoBackEndNodeJS/controllers/cart.controller.js: addItemToCart, updateItemQuantityFromCart and updateStockAfterSuccessPurchase implement cart state checks and stock updates
Amr-Hani/PlantoBackEndNodeJS/controllers/users.controller.js: token parsing and BlackListTokens use for logout
Amr-Hani/PlantoBackEndNodeJS/middlewares/updateProductMiddleware.js: express-validator rules validating nested stock and sizes
UX & Visual Polish
Look and feel quality
Not evidenced in public code
Industries
Commerce• Middle
Technologies
JavaScript• Junior
TypeScript
Node JS• Middle
Tailwind CSS
Express
Angular
Bcrypt
Bootstrap
Git
React.js
JQuery
npm
PostCSS
Recommendations
- Develop and harden REST APIs for e-commerce features such as cart, inventory, and payments including transactional safety and bulk-update strategies.
- Implement DB-level transactions or two-phase updates and add unit and integration tests around cart and stock update flows.
- Harden authentication flows by consolidating token parsing, adding token expiry checks, and adding rate limiting and input sanitization.
- Introduce performance profiling and CI checks (bundle or query analysis, load testing) and document measurable before/after improvements.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
