Dr. Filipe Carvalho
/ Medical website
Dr. Filipe Carvalho

Medicine with adigital presenceworthy of yourcareer.

Internal Medicine and Rheumatology

A medical website with an article column and its own panel to publish.

Medical siteArticlesPanel

  • Next.js 15
  • React 19
  • TypeScript
  • Prisma
Dr. Filipe Carvalho / Medical website
Dr. Filipe Carvalho

Medicine with adigital presenceworthy of yourcareer.

Internal Medicine and Rheumatology

  • Next.js 15
  • React 19
  • TypeScript

A medical website with an article column and its own panel to publish.

Medical siteArticlesPanel

  • Next.js 15
  • React 19
  • TypeScript
  • Prisma

PortfolioDr. Filipe Carvalho

Trust

Before the appointment, the proof.

Someone looking for a doctor online decides in seconds. The presentation page was built to answer that doubt with proof rather than adjectives: five blocks, each with a different kind of confirmation.

  • Professional registry

    The official registry numbers and the two specialties, right at the start.

  • Education

    Degree and residencies, with institution and year.

  • Teaching

    The work as professor and preceptor, showing the academic side.

  • Publications

    The scientific papers, each with its subject.

  • Practice

    Where appointments happen and in what form.

The real registry, contact and address details are on the site; this page shows only the kind of proof each block gathers.

The areas

Two areas, no fine print.

The specialties page doesn't promise “everything”: it names the two areas and, in each one, what is actually treated. Pick a tab to open the list.

Full assessment of adult health, with an evidence-based approach to diagnosing, treating and preventing systemic disease.

What is treated

  • Complete preventive check-up
  • Chronic and metabolic disease
  • Cardiovascular prevention
  • Whole adult health

The two areas and the eight items come from the site's code (specialties.tsx), word for word.

Project scene: the specialties page on a desktop and the article editor beside it

02/Content and autonomy

Knowledge that gains room to be shared.

Specialties and articles in a space of their own.

The article column is what keeps the site alive after the day it was finished. Each article has a category, a reading time and a colour picked in the panel, the same colour that marks the card below. Use the filter to see one category.

  • Rheumatology5 min

    The first signs of rheumatoid arthritis: when to see a rheumatologist

    Rheumatoid arthritis affects millions of people. Learn the early signs that shouldn't be ignored.

    Read article

  • Rheumatology7 min

    Systemic lupus erythematosus: myths and facts about the disease

    Lupus is one of the most complex autoimmune diseases. Understand what science actually knows.

    Read article

  • Quality of Life6 min

    Osteoporosis: the silent disease you need to know about

    Osteoporosis is called the silent epidemic. Learn how to prevent and treat it before the first fracture.

    Read article

  • Internal Medicine6 min

    Fibromyalgia: understanding the pain that doesn't show up in tests

    Fibromyalgia is real and affects quality of life. Learn the modern approach to diagnosis.

    Read article

The four articles and the categories are the ones that ship with the project (prisma/seed.ts); the filter works as it does on the site.

Autonomy

Writing without asking for help.

The panel exists so a new article doesn't depend on whoever built the site. These are the real app's fields: type in the form and watch the card beside it change along.

Article colour

Card preview

Quality of Life4 min

Sleep and chronic pain: what one has to do with the other

Sleeping badly makes pain worse, and pain ruins sleep. Understand the circle and where to start breaking it.

Read article

  • 5Total
  • 4Published
  • 1Drafts
  • 5Categories

The fields, the five categories and the six colours are the panel's (app/admin). The count above adds this one to the project's articles.

The state

All of it up, checked in the code.

A health project deserves honesty in the report too. This is the list checked in the code, without rounding: every part the site delivers, one by one.

  • Public sitePresentation, authority, specialties and a call to get in touch.Done
  • Article columnA list with a category filter and a page for each article.Done
  • Its own panelA summary in numbers, the article list and an editor with preview.Done
  • Password doorPassword hashed with bcrypt and a signed badge kept in a cookie.Done
  • A real databasePostgreSQL behind Prisma, with articles, admin and settings.Done
  • Initial loadFour articles and the admin created by a seed file.Done

Gathered by reading the code (src/app/api and src/lib/auth.ts).

The technologies

What it is made of, piece by piece

A real website, with its own database and admin: the public pages and the panel come from the same Next.js project, the articles live in a PostgreSQL database and the panel's door keeps the password hashed. Pick a piece to see what it does here and which file it is in.

10technologies, in 3 layers

Screen

Server

Door

The screens

The site as it is.

Real screens from the project, in the site's light theme and the slate panel. Hover to lift a plate off the box and click to see it large.

Screens with address, phone, e-mail and social handle were left out; any personal data left over was covered.