Skip to content

Kaaponen/paikalla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paikalla - Joukkueenhallintasovellus

Paikalla on moderni web-sovellus, joka on suunniteltu helpottamaan urheilujoukkueiden, kerhojen ja muiden ryhmien toiminnan organisointia. Sovelluksen avulla voidaan hallita jäseniä, aikatauluttaa tapahtumia, seurata läsnäoloja ja parantaa joukkueen sisäistä viestintää.

Ominaisuudet

Sovellus sisältää monipuolisen valikoiman ominaisuuksia ryhmänhallintaan.

Ydintoiminnallisuudet

  • Käyttäjähallinta:
    • Turvallinen rekisteröityminen ja sisäänkirjautuminen (JWT-autentikointi, BCrypt-salasanan tiivistys).
    • Järjestelmänlaajuiset roolit (Admin, User).
    • Käyttäjätilien elinkaaren hallinta (Active, Inactive, Invited, Deleted).
  • Organisaatio- ja Joukkuehallinta:
    • Tuki useille seuroille (organisaatioille) ja niiden alla oleville joukkueille.
    • Joukkuekohtaiset roolit (Coach, Player, TeamManager, Staff).
    • Seurakohtaisten ylläpitäjien hallinta.
  • Perhesuhteet:
    • Huoltaja-lapsi-linkitykset, jotka mahdollistavat huoltajien toimimisen lastensa puolesta.
  • Tapahtumien Hallinta:
    • Tapahtumien luonti, muokkaus ja poisto.
    • Toistuvat tapahtumat: Tuki monipuolisille toistuvuussäännöille (esim. "joka tiistai ja torstai") iCalendar-standardin (RRULE) mukaisesti.
    • Rikastetut tapahtumatiedot: Sijainti karttalinkillä, vaaditut varusteet, saapumisaika, vastuuhenkilö, tapahtumakohtainen maksu.
  • Läsnäoloseuranta:
    • Käyttäjät voivat ilmoittaa läsnäolonsa (Paikalla, Poissa, Ehkä).
    • Mahdollisuus lisätä kommentti ilmoittautumisen yhteyteen.
  • Raportointi:
    • Joukkuekohtaiset läsnäoloraportit tietyllä aikavälillä, sisältäen pelaajakohtaiset tilastot ja osallistumisprosentit.

Yhteisö- ja Viestintäominaisuudet

  • Tehtävien ja Vastuiden Jako (Talkootyökalu):
    • Mahdollisuus luoda tapahtumiin liittyviä tehtävälistoja (esim. turnauksen järjestelyt).
    • Tehtävien nimeäminen tietyille käyttäjille ja niiden valmistumisen seuranta.
  • Kyselyt ja Äänestykset:
    • Valtuutetut käyttäjät voivat luoda joukkueelle kyselyitä, joissa on useita vastausvaihtoehtoja.
    • Jäsenet voivat äänestää, ja tulokset näytetään reaaliaikaisesti.
  • Integraatiot ja Notifikaatiot:
    • Kalenteri-integraatio (iCal): Jokaiselle joukkueelle luodaan uniikki URL-osoite, jonka avulla tapahtumat voi tilata suoraan omaan kalenterisovellukseen (Google, Outlook, Apple).
    • Web Push -notifikaatiot: Mahdollisuus lähettää push-ilmoituksia asennettavaan PWA (Progressive Web App) -sovellukseen esimerkiksi uusista tapahtumista tai kyselyistä.

Arkkitehtuuri

Sovellus on jaettu kahteen pääosaan:

  • Frontend: React-pohjainen Single Page Application (SPA).
  • Backend: C# ja ASP.NET Core Web API.

Backend noudattaa puhdasta arkkitehtuuria (Clean Architecture), ja se on jaettu seuraaviin projekteihin:

  • Paikalla.Core: Sisältää domain-mallit, rajapinnat, DTO:t ja enumit. Ei ulkoisia riippuvuuksia.
  • Paikalla.Infrastructure: Sisältää rajapintojen toteutukset, kuten palvelut, tietokantayhteyden (AppDbContext), ja kommunikoinnin ulkoisten järjestelmien kanssa.
  • Paikalla.API: ASP.NET Core Web API -projekti, joka sisältää controllerit ja toimii sovelluksen julkisena rajapintana.
  • Paikalla.Tests: Yksikkö- ja integraatiotestit.

Kehitysympäristön pystytys

Seuraa näitä ohjeita saadaksesi sovelluksen käyntiin paikallisessa kehitysympäristössä.

Edellytykset

Varmista, että sinulla on asennettuna:

Backendin käynnistys

  1. Kloonaa repositorio:

    git clone <repositoryn-url>
    cd <projektin-kansio>/server
  2. Aseta konfiguraatiot:

    • Avaa tiedosto Paikalla.API/appsettings.Development.json.

    • Määrittele ConnectionStrings-osioon yhteys paikalliseen PostgreSQL-tietokantaasi.

      "ConnectionStrings": {
        "DefaultConnection": "Server=localhost;Port=5432;Database=PaikallaDb;User Id=kayttaja;Password=salasana;"
      }
    • Määrittele JwtSettings ja VapidSettings -osioihin omat salaiset avaimesi.

  3. Luo tietokanta (Database Migration):

    • Suorita migraatiot luodaksesi tietokannan ja sen taulut. Varmista, että olet server-kansiossa.
    dotnet ef database update -p Paikalla.Infrastructure -s Paikalla.API
  4. Käynnistä API:

    dotnet run --project Paikalla.API/Paikalla.API.csproj

    API on nyt käynnissä, tyypillisesti osoitteessa https://localhost:7001 tai http://localhost:5001.

Frontendin käynnistys

  1. Avaa uusi terminaali/komentorivi.

  2. Mene client-kansioon:

    cd <projektin-kansio>/client
  3. Asenna riippuvuudet:

    npm install
  4. Käynnistä kehityspalvelin:

    npm start

    React-sovellus avautuu selaimeen, tyypillisesti osoitteeseen http://localhost:3000. Sovellus on nyt käyttövalmis.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages