Skip to content
View fasharif's full-sized avatar

Block or report fasharif

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
fasharif/README.md

Farah Sharif

Full-stack developer · TypeScript · NestJS · Next.js · PostgreSQL
Computer Science student at the University of West London · 42 Abu Dhabi alum
Based in the UAE · open to graduate and junior roles there, in the UK and Europe, or remote
Email · LinkedIn


I build web applications end to end, from the database design and API to the screens people use.

My main project, TopFlow Hub, is an online store and trade portal built around the real catalogue of Top Flow, a UAE irrigation supplier (used with their permission). It is about 40,000 lines of TypeScript: a storefront, a trade portal with quotations and purchase approvals, a staff back office, a REST API and a mobile app, all sharing one set of business rules.

My low-level background comes from 42 Abu Dhabi's C curriculum. Those projects now have automated tests and CI, including sanitizer builds that found several memory bugs, since fixed.

Featured projects

Project What it does Built with
TopFlow Hub Store and trade portal: quotations with PDF export, purchase approvals by spending limit, credit terms, company accounts with role-based access, an audit trail and a mobile app. Staff sign in with two-factor authentication, and an encrypted nightly backup job is built in. TypeScript, NestJS, Next.js, React Native, Prisma, PostgreSQL, Supabase
Process-Monitor-CLI A small top for Linux: reads /proc and shows each process's CPU and memory use. C, Linux
Algorithm-Energy-C Benchmarks three sorting algorithms on identical inputs, counting comparisons and memory writes as well as time. C, Python
push_swap Sorts numbers with two stacks and 11 allowed moves: 100 numbers in 614 to 698 moves across 50 random inputs. C
minitalk Sends text, including Arabic and emoji, between two processes using only two Unix signals. C, Unix signals
so_long A 2D tile game: map loading and validation, sprites, movement and collisions. C, MiniLibX
libft My own C library, including ft_printf and get_next_line, tested against the C library on Linux and macOS. C

Next up

  • A public demo of TopFlow Hub, and browser tests for its web app.
  • Measuring the energy the sorting benchmark uses directly, with Intel RAPL counters.

Tools

Languages: TypeScript, JavaScript, C, Python, Java, SQL, Bash
Web: NestJS, Node.js, Next.js, React, React Native (Expo), Tailwind CSS
Data: PostgreSQL, Prisma, Supabase, Oracle SQL
Testing and delivery: Jest, Supertest, GitHub Actions, Docker, Git, Linux

Pinned Loading

  1. topflow topflow Public

    B2B/B2C commerce platform for a UAE irrigation supplier: quotations, spending-limit approvals, credit terms, multi-tenant RBAC and a mobile app. TypeScript monorepo with NestJS, Next.js, Prisma, Su…

    TypeScript

  2. Process-Monitor-CLI Process-Monitor-CLI Public

    A small top-style process monitor for Linux, written in C: per-process CPU and memory read from /proc, with unit tests, sanitizers and CI.

    C

  3. Algorithm-Energy-C Algorithm-Energy-C Public

    Benchmarks bubble, insertion and quick sort in C on identical inputs: comparisons, array writes and time across sizes and input orders, with tests and CI.

    Python

  4. PUSH_SWAP_42AbuDhabi PUSH_SWAP_42AbuDhabi Public

    42 push_swap in C: sorts integers with two stacks and 11 instructions (100 numbers in under 700 moves), plus a checker, tests and CI.

    C

  5. 42-Libft-C 42-Libft-C Public

    My own C library (42 libft) with ft_printf and get_next_line, tested against the C library on Linux and macOS and under sanitizers.

    C

  6. So-Long-42 So-Long-42 Public

    42 so_long in C: a 2D tile game built on MiniLibX, with map parsing and validation, sprites, movement and collisions.

    C