Get a quote

System Architecture · Atasehir

System Architecture for Atasehir businesses

If a head office watches the public site, the internal panel and a user's phone at the same time, the job does not end at one screen. Software architecture consulting in Atasehir comes down to three questions: where the boundary runs, who owns the record, which read belongs in the shared layer. The work in our portfolio closest to that shape is Tahlil.com. A website, a doctors' panel and a patient app sit on one Laravel codebase there, none carrying a data model of its own.

System Architecture — Atasehir

Atasehir's fabric leans on head office and multi-branch corporate management; in the office blocks around Icerenkoy, head office reporting sits beside a branch's own records. Work shaped like that settles its architecture before code: where the line runs, what a record hangs off, which read belongs in the shared layer. We hold no client in banking or finance and do not describe that experience. Tahlil.com is the portfolio answer to that shape: three interfaces read from one Laravel codebase, MySQL holds the records and Redis carries the cache layer. Several institutions using one system is a separate decision. On Vipkurum each institution's data was separated at the domain level, and a filter added to a screen later does not stand in for that.

  • Where several institutions share one system, the line belongs in the data model rather than on a screen. On Vipkurum an institution signs in at its own address and the rows it reads stop there.
  • The last word on a record lives in the data model: AI prepares the first reading, a doctor approves it, and because approval is a state of the record, that state fires the notification.
  • The site, the doctors' panel and the patient app read from the same data model, so no interface carries a second one; MySQL keeps the records, Redis takes the read load.

Why Algoriel

  • The parts read one source

    At Tahlil.com the site, the admin panel and the mobile app read the same information instead of behaving as three systems.

  • Where each job is solved comes first

    Which layer handles which job is decided before code, because work that has to move later is expensive to move.

  • The summary recomputes itself

    As the Günlük Hava Durumu archive grows, the climate summary recomputes from it; nobody maintains a monthly table by hand.

  • One rule for file layout

    On the KGM SsangYong site, where a file is written and under what name now follows one rule the upload code obeys.

  • Where the data divides

    When several institutions share one system, each enters through its own domain and student, guardian and payment records stay inside that institution's boundary. This arrangement is what the term multi-tenant describes.

  • What a record attaches to

    Whether service history is written against a person, an address or a device is settled before the schema exists. Reversing that later means re-attaching everything already recorded.

  • Permission held in the data model

    A teacher, a guardian and an institution administrator reach the same timetable record at their own level of access. Permission is part of how the record is defined, not a view switched off on a screen.

  • Splitting the read path

    Which screens are served from a held copy and which go to the database is settled before the first record exists. On Vipkurum a frequently opened screen comes from the copy, and only a read with no copy reaches the database.

  • Interfaces on a single system

    Tahlil.com hangs three interfaces off one system: the patient site, the physician panel and the mobile app read the same record, and no second data model is written per interface.

  • Storage laid out on day one

    The naming and folder scheme files will live under is fixed at the start; a layout imposed afterwards turns into a migration.

Work like this

System Architecture · Case study

Tahlil.com — three interfaces, one Laravel codebase, one data model

A platform where lab results are interpreted by specialist doctors with AI support. The interface count was settled first: a website, a doctors' panel, a patient app. Then the record's states were written — AI prepares the first reading, a doctor approves it, and what reaches the patient stays the approver's responsibility. The read path was split: MySQL holds records, Redis carries the cache. Tahlilmatik calculators open a second entrance needing no appointment. Approval fires a OneSignal push, and the phone app comes from one React Native (Expo) codebase.

Read the case study →

Working with Atasehir teams, remotely

We have no office, so work for this city runs remotely and we do not offer on-site support. What was done, and why it was done that way, stays in writing. The project pages mark which builds came out of a partnership.

  • The first release ships as a working piece; extras follow later.
  • Every client we know of is in Turkey.
  • Decisions stay in writing; progress shows in working screens.

Frequently asked

  • What does deciding the architecture before code mean in practice?

    Four questions get written down: where the boundary runs, what a record attaches to, which read belongs in the shared layer, how many interfaces hang off it. Postponed, the cost lands on re-attaching the records already written.

  • Could we not add a filter later and reach the same place?

    No. A filter lives on the screen; the boundary lives in the data model. On Vipkurum an institution enters at its own domain and the rows it reads stop there.

  • Will the site, the panel and the phone app be written separately?

    No. On Tahlil.com all three sit on one Laravel codebase, with no second data model per interface. The phone side ships to both stores from one React Native (Expo) codebase.

  • Our head office is in Atasehir and you work remotely. How does that run?

    We keep no office and work fully remotely. The architecture decision arrives as a written output: the data model and the read path. We answer form messages within 2 working days.

Let us settle where your data divides before any code is written.