Serwer plików

Interfejs użytkownika dla dysku zamontowanego poprzez SSHFS na VPS. Aplikacja posiada proste uwierzytelnianie użytkownika za pomocą hasła. Sesje użytkownika zapisywane są do bazy danych Redis. Dysk jest zamontowany przez SSHFS, ale wszystkie operacje polegają na systemie Linux, nie po SSHFS. Zdecydowałem się na takie rozwiązanie ze względu na 20-krotny wzrost wydajności w porównaniu do SSHFS. Serwer nginx używany jest do serwowania plików statycznych z tego dysku. Użytkownik może tworzyć nowe katalogi, przesyłać pliki, wyświetlać pliki na stronie (audio, wideo, kod, PDF) oraz je pobierać.

Photo App

PhotoApp to aplikacja społecznościowa inspirowana aplikacją Instagram. Użytkownik może tworzyć posty, polubiać je i dodawać do nich komentarze. W aplikacji dostępny jest chat, który używa WebSocket do komunikacji. Do stworzenia frontendu użyłem frameworka Next.js, TypeScript, Tanstack Query i TailwindCSS, natomiast do backendu użyłem Fastify, TypeScript oraz ImageKit do przechowywania obrazów dodanych przez użytkowników. Do komunikacji z bazą użyłem PostgreSQL i Prisma. Do komunikacji pomiędzy frontendem i backendem użyłem openapi-typescript.