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ää.
Sovellus sisältää monipuolisen valikoiman ominaisuuksia ryhmänhallintaan.
- 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.
- Käyttäjät voivat ilmoittaa läsnäolonsa (
- Raportointi:
- Joukkuekohtaiset läsnäoloraportit tietyllä aikavälillä, sisältäen pelaajakohtaiset tilastot ja osallistumisprosentit.
- 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ä.
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.
Seuraa näitä ohjeita saadaksesi sovelluksen käyntiin paikallisessa kehitysympäristössä.
Varmista, että sinulla on asennettuna:
- .NET 8 SDK (tai uudempi)
- Node.js (LTS-versio suositeltu)
- PostgreSQL -tietokantapalvelin
- Git
-
Kloonaa repositorio:
git clone <repositoryn-url> cd <projektin-kansio>/server
-
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
JwtSettingsjaVapidSettings-osioihin omat salaiset avaimesi.
-
-
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
- Suorita migraatiot luodaksesi tietokannan ja sen taulut. Varmista, että olet
-
Käynnistä API:
dotnet run --project Paikalla.API/Paikalla.API.csproj
API on nyt käynnissä, tyypillisesti osoitteessa
https://localhost:7001taihttp://localhost:5001.
-
Avaa uusi terminaali/komentorivi.
-
Mene client-kansioon:
cd <projektin-kansio>/client
-
Asenna riippuvuudet:
npm install
-
Käynnistä kehityspalvelin:
npm start
React-sovellus avautuu selaimeen, tyypillisesti osoitteeseen
http://localhost:3000. Sovellus on nyt käyttövalmis.