Takaisin portfolioon.

Fastcat Delivery

Fastcat Delivery on jakamiseen ja hallintaan suunniteltu alusta. Se tarjoaa turvallisen ja nopean tavan ladata, arkistoida ja jakaa suuria tiedostoja käyttäjien välillä. Järjestelmä hyödyntää reaaliaikaista WebSocket-viestintää ja automaattisia puhdistusprosesseja varmistaen saumattoman käyttökokemuksen.

Tekniset yksityiskohdat

Frontend

Backend

Build-prosessi

Ominaisuudet

Tiedostojen hallinta

Reaaliaikainen viestintä

Automaattinen puhdistus

Sähköpostivastaukset

Teknologiat ja työkalut

Yleinen rakenne ja toiminnallisuudet

  1. Koodi on jaettu moduuleihin ja hyödyntää RESTful-periaatteita sekä Express.js-reittien kautta tapahtuvaa toimintojen jakoa.
  2. Frontend on rakennettu Reactillä ja hyödyntää ReconnectingWebSocketia reaaliaikaiseen viestintään.
  3. Backend tukee tiedostojen lataamista, pakkaamista, siirtämistä pilveen ja sähköpostiviestien lähettämistä, samalla kun se suojaa järjestelmää CSRF-suojauksella.
  4. Käyttäjätietoja hallinnoidaan kirjautumismekanismilla, jossa on bcrypt-salasanan salaus ja JWT-autentikointi.

Käyttäjän toiminta

  1. Käyttäjä lataa tiedoston palvelimelle.
  2. Reitin käsittely (Esim. /upload)
  3. Tiedoston pakkaus ja lataus pilveen
  4. Sähköpostin lähetys
  5. Reaaliaikaiset päivitykset
  6. Automaattinen puhdistus

Yhteenveto

Endpointit

1. Yleiset endpointit

Endpoint HTTP-metodi Kuvaus
/gateway/ GET Tervetuloitusivu API:lle. Palauttaa viestin ja listan saatavilla olevista resursseista.
/gateway/navigation GET Palauttaa sivuhierarkian täydellisten permalinkeiden kanssa.
/gateway/:resource GET Palauttaa tietyn resurssin (esim. pages, articles, settings). Tukee suodatusta, lajittelua ja rajausta.
/gateway/:resource/:id GET Palauttaa yksittäisen resurssin (esim. tietyn sivun tai artikkelin) ID:n perusteella.

2. Sivut

Endpoint HTTP-metodi Kuvaus
/gateway/pages GET Palauttaa kaikki julkaistut sivut.
/gateway/pages/:id GET Palauttaa yksittäisen sivun tiedot ID:n perusteella.
/gateway/pages/:id/details GET Palauttaa yksityiskohtaiset tiedot tietystä sivusta (esim. galleriat, alasivut, featured-kuva).

3. Artikkelit

Endpoint HTTP-metodi Kuvaus
/gateway/articles GET Palauttaa kaikki julkaistut artikkelit.
/gateway/articles/:id GET Palauttaa yksittäisen artikkelin tiedot ID:n perusteella.
/gateway/articles/:id/details GET Palauttaa yksityiskohtaiset tiedot tietystä artikkelista, mukaan lukien kuvat ja kategoriat.

4. Asetukset ja yleinen sisältö

Endpoint HTTP-metodi Kuvaus
/gateway/settings GET Palauttaa kaikki asetukset, kuten faviconin, oletusotsikon ja kuvakoot.
/gateway/general_content GET Palauttaa yleistä sisältöä, kuten footerin ja muut yleiset tekstit.

5. Kuvien käsittely

Endpoint HTTP-metodi Kuvaus
/upload-thumbnail/:pageId POST Lataa kuvia tietylle sivulle. Luo thumbnailit ja tallentaa tiedot tietokantaan.
/temporary-upload/:tempId POST Lataa kuvia tilapäisesti. Tallentaa tiedot tilapäiseen kansioon ja tietokantaan.
/temporary-thumbnails/:tempId GET Palauttaa tilapäiset thumbnailit tilapäisen tunnisteen perusteella.
/gateway/pages/:id/thumbnails GET Palauttaa tietyn sivun thumbnailit.
/delete-thumbnail/:id DELETE Poistaa tietyn thumbnailin tietokannasta ja tiedostojärjestelmästä.
/update-thumbnail/:id POST Päivittää thumbnailin tiedot, kuten otsikon ja kuvauksen.
/update-thumbnail-order/:pageId POST Päivittää sivun thumbnailien järjestyksen.
/update-temporary-thumbnail-order/:tempId POST Päivittää tilapäisten thumbnailien järjestyksen.

6. Kirjautuminen ja käyttäjätoiminnot

Endpoint HTTP-metodi Kuvaus
/login POST Käyttäjän kirjautuminen. Palauttaa JWT-tokenin onnistuneesti kirjautuneelle käyttäjälle.
/logout GET Kirjaa käyttäjän ulos ja tyhjentää session.
/update-user POST Päivittää kirjautuneen käyttäjän tiedot (käyttäjänimi ja salasana).

7. Hallinta- ja asetustoiminnot

Endpoint HTTP-metodi Kuvaus
/homepage GET Palauttaa nykyisen aloitussivun tiedot.
/homepage POST Asettaa tietyn sivun aloitussivuksi.
/regenerate-images POST Generoi kaikki thumbnailit uudelleen uusien asetusten mukaan.
/defaults POST Päivittää oletusasetukset, kuten faviconin, logon ja oletuskuvan.
/delete-file POST Poistaa asetuksiin liittyvän tiedoston, kuten faviconin tai logon.