Repostruktur - I-sektionen/i-portalen GitHub Wiki

Repostruktur för i-portalen

Det är inte helt lätt att förstå var en kan hitta viktiga/relevanta filer som ny webgroup:are. Denna sida är till för att underlätta denna process genom att beskriva den generella uppbyggnaden av repon.

Top level

i-portalen/
├── Deploy/
├── sass/
├── wsgi/
└── *          //flera filer

Här ligger främst configurationsfiler. Den enda filen som ni behöver hålla koll på här är "requirements.txt" som används i installationen av utvecklingsmiljön.

i-portalen/Deploy/*

Innehåller filer som Docker behöver för att deploy:a sidan.

i-portalen/sass/*

Ligger de allra flesta .sass, .scss files som då kompileras till .css.

i-portalen/wsgi/*

Här ligger hela sidan.


WSGI

i-portalen/wsgi/
├── iportalen_django/
├── templates/
├── __init__.py
└── application

Nu börjar vi närma oss monstret. "__init__.py" och "application" filerna behöver (läs: skall) inte röras.

i-portalen/wsgi/templates/
├── header.html 
├── master.html
├── sponsors.html
└── *          //flera filer

Innehåller statiska .html filer som importeras till många sidor. Några viktiga visas här. "header" innehåller strukturen för menyn. "master" är själva grundstrukturen för samtliga sidor. "sponsors" innehåller samtliga sponsorer.


iportalen_django

i-portalen/wsgi/iportalen_django/
├── articles/                    Artiklar som visas i flödet.
├── bookings/                    Bokningar I-bilen etc.
├── course_evalutations/         Kursutvärderingar.
├── events/                      Evenemang som visas i flödet.
├── faq/                         FAQ sidor.
├── fika_penalty/                System för att hålla koll på "fika straff" - organisationer har tillgång till detta.
├── hero/                        Huvudbilden på i-portalen
├── iportalen/                   Viktiga grundfiler. (t.ex. "urls.py" som innehåller definitionen av alla sidornas url:er)
├── letsencrypt/                 SSL stuff. (Don't touch)
├── liu_crawler/                 Webgroups helt egna MMORPG.
├── local_static/                Lokala css och js fil(er).
├── organisations/               Hanterar samtliga utskott och föreningar.
├── speaker_list/                För vissa evenemang.
├── tags/                        Taggar som används på artiklar/evenemang etc.
├── user_managements/            Hanterar samtliga medlemmar (konton etc.).
├── utils/                       Configfiler. (Don't touch)
├── votings/                     Röstningssystemet.
├── webgroup/                    Vår "hemliga" undersida.
├── manage.py                    Låter dig testa sidan lokalt och fippla med databasen etc.
└── *                            Några oviktiga configurationsfiler. 

Generell uppbyggnad av en modul

Modulerna som kan finnas under i-portalen/wsgi/iportalen_django/* innehåller en hel del filer. Särskilt de mer omfattande sådana. Några filer som kan vara bra att förstå är:

 models.py

Denna filen styr tabellstrukturen i databasen för den aktuella modulen. Notera att ändringar till denna fil måste tillämpas i "manage.py" filen och den resulterande "migrations/*" filen måste läggas till i git push:en. Ifall du inte förstår vad detta innebär, be gärna om hjälp!

 urls.py

Definierar alla url:er som hör till denna modul. Nya sidor kan läggas till i denna fil ifall du har skrivit en ny vy i ...

 views.py

som definierar själva sidinnehållet (som körs på servern). Denna har även en html template som ofta ligger i en mapp som heter "templates" eller något liknande.