1 |
|
2 |
======== |
3 |
|
4 |
In dit document lijst ik alle ideeën op die in het systeem moeten zitten. Kleine |
5 |
mankementen die voor problemen zorgen, oplossingen, algoritmen, ... Moest ik dit |
6 |
mogen ontwerpen dan heb ik direct al een hoop dingen waaraan ik kan werken. |
7 |
|
8 |
Core |
9 |
==== |
10 |
|
11 |
Stack |
12 |
----- |
13 |
|
14 |
**De volledige stack van de UHasselt moet herschreven worden.** Dit is de stack |
15 |
die zal gebruikt worden: |
16 |
|
17 |
- OS: Debian 9. Stabiel, snel, lightweight, vrij |
18 |
- Server: Nginx |
19 |
- Web framework: Django |
20 |
- Database: PostgreSQL |
21 |
- VCS: Git |
22 |
|
23 |
Vereisten |
24 |
--------- |
25 |
|
26 |
Er zijn enkele vereisten die aan het systeem gesteld zullen worden: |
27 |
|
28 |
- Ondersteuning meerdere talen (via Django) |
29 |
- Alles geëncrypteerd; HTTPS verplicht (via Nginx en Let's Encrypt) |
30 |
- Bescherming tegen LOGJAM, HEARTBLEED, ... (via Nginx, zie eigen setup) |
31 |
- Alles werkt ook zonder JavaScript |
32 |
- Uitgebreid testframework (via Django/Python3) |
33 |
- Automatische updates (CRON-job Debian GNU/Linux, jaarlijkse heropstart indien |
34 |
nodig (ALARM: Postgres? Vereist manuele stuff) |
35 |
- GEEN PLAIN TEXT PASSWORDS. |
36 |
|
37 |
Platform |
38 |
======== |
39 |
|
40 |
Er zal één hoofdplatform zijn, dat de volgende diensten zal verenigen in 1 |
41 |
proper geheel (en dus overbodig zal maken): |
42 |
|
43 |
- BlackBoard |
44 |
- Studentendossier (ECHT ALLES) |
45 |
- PingPing |
46 |
- E-mail (server kan op achtergrond blijven bestaan voor SMTP enzo) |
47 |
- Pagina's StuRa |
48 |
- Examenrooster |
49 |
- Uurrooster |
50 |
- Studiegids |
51 |
- Academische kalender |
52 |
- Soft- en hardware-aankooppagina's (laptops, Office, ...) |
53 |
- Inschrijfsysteem voor nieuwe studenten |
54 |
- Hoofdpagina's (alles op main uhasselt.be dus) |
55 |
- EveryonePrint |
56 |
- Bibliotheeksysteem |
57 |
- Campusshop MISSCHIEN |
58 |
- m.uhasselt.be (is toch al half kapot) |
59 |
- Google Forms |
60 |
|
61 |
Dit platform zal echter zó goed zijn, dat men later naar believen zelf software |
62 |
kan toevoegen die hieraan vastzit. Bijvoorbeeld later een app ontwikkelen die |
63 |
inhaakt op dit alles? |
64 |
Webinterface gaat wel de eerste zijn (en degene die ik ook zal maken). Is al een |
65 |
degelijke basis. |
66 |
|
67 |
Openstaande problemen |
68 |
--------------------- |
69 |
|
70 |
- Aanvragen bij PingPing of er een API voorhanden is. Indien ja: Module |
71 |
schrijven voor interactie! |
72 |
- EveryonePrint is niet nodig, alle printers zijn op netwerk aangesloten. Wel |
73 |
moet er overlegd worden hoe de interactie moet gebeuren; welke API is |
74 |
verantwoordelijk voor het doorsturen van bestanden? |
75 |
- Uitvogelen HOE het menu op m.uhasselt.be gedaan wordt! |
76 |
|
77 |
Leuke ideeën |
78 |
------------ |
79 |
|
80 |
- De TV's in de grote hal geven foto's weer. Waarom niet tegen betaling (via |
81 |
PingPing) toelaten dat studenten zelf voor een bepaalde duur (of beter: |
82 |
bepaald aantal weergaven van foto) een afbeelding kunnen insturen? Natuurlijk |
83 |
met bepaalde regels, wordt ook gelogged om misbruik te voorkomen |
84 |
- PingPing moet DIRECT geïntegreerd zijn in de website. Als je bent ingelogd, is |
85 |
er bv. een werkbalk aan de onderkant, waarop staat hoeveel er nog op je |
86 |
PingPing staat. Kán geüpdatet worden via JavaScript maar da's een extra + |
87 |
oppassen voor overflow van PingPing-server. |
88 |
- Als iemand een propriëtair bestandsformaat wil uploaden (zowel studenten als |
89 |
personeel), wordt er gewaarschuwd dat dit niet door iedereen bekeken kan |
90 |
worden. Systeem geeft dan voorstellen voor alternatieven (bv. .docx --> .pdf), |
91 |
en (indien mogelijk) een automatische conversie (via Pandoc). |
92 |
- MarkDown support, zoveel mogelijk. 't Is *bae as fuck*, door iedereen |
93 |
begrijpbaar, simpel te implementeren, ... |
94 |
- Veel studenten moeten statistische data inzamelen voor X of Y. Maak een |
95 |
systeem waarbij makkelijk enquêtes kunnen worden opgesteld. Data is al dan |
96 |
niet anoniem, opsteller kan een populatie aanduiden (bv. Faculteit |
97 |
wetenschappen, enkel docenten, ...), en dit verschijnt dan. |
98 |
- Facebook-achtig sociaal platform voor de universiteit, waar studenten groepjes |
99 |
kunnen vormen om te chatten, bestanden uit te wisselen, (MarkDown support), |
100 |
... |
101 |
- Opvragen van uurrooster moet slim zijn: Systeem bekijkt waarvoor student is |
102 |
ingeschreven, verzamelt die vakken voor deze EN volgende week, en geeft dat |
103 |
weer. |
104 |
- Mogelijkheid om een persoonlijke iCAL af te halen. (maar ook voor |
105 |
modeltrajecten natuurlijk) |
106 |
- Bij aanmaken wachtwoord; geef nuttige tips over wachtZINNEN, help de gebruiker |
107 |
(ALGORITME-IDEE: Doe voorstellen op basis van gekende info; als we het adres |
108 |
en geboorteplaats kennen: "Ik woon op #23 maar ben geboren in Hasselt." Dat |
109 |
zijn supersterke wachtzinnen en is ook nog eens chiq.) |
110 |
- Slechte wachtwoorden gewoon verbieden. *I'm fucking done with that shit.* |
111 |
En opnieuw: Moedig een wachtZIN aan met een paar voorbeelden! |
112 |
- De interface volgt de huisstijl van de UHasselt, met die rechthoek enzo. Ook: |
113 |
SVG's voor logo's. |
114 |
- Alle mensen met een account krijgen een persoonlijke homepage. Hierop is het |
115 |
volgende mogelijk: |
116 |
- Kleur aanpassen van huisstijl |
117 |
- Bannerpicture |
118 |
- Avatar |
119 |
- Kijken wat deze persoon allemaal heeft gedeeld |
120 |
- Weten of deze persoon beschikbaar is (bv "Bezet; <VAKNAAM> in <LOKAAL>") |
121 |
- De eigenaar kan ALLES privatiseren naar eigen wens |
122 |
- Mogelijkheid om lokalen te reserveren: |
123 |
- Professoren en docenten moeten misschien voorrang krijgen maar het is fijn |
124 |
om soms een lokaal af te huren voor whatever |
125 |
- Plattegrond met suggesties |
126 |
- Automatische generering examenroosters: |
127 |
- Controleer aantal studenten, vrije lokalen, zoek conflicten, ... |
128 |
- Genereer met een prachtig algoritme examenroosters die kunnen |
129 |
- Docenten geven ook vereisten in (bv. labo, specifieke lokalen, ...) |
130 |
- Oh ja, NIET IN PDF. Dit is tekst. MarkDown of gewoon .txt moet volstaan. |
131 |
iCALs kunnen ook geüpdatet worden |
132 |
- Extra opmerkingen moeten toegevoegd kunnen worden (in MarkDown of course) |
133 |
- Mogelijkheid om afspraken te maken: |
134 |
- bv. ombudsdiensten moeten snel bereikbaar zijn. |
135 |
|
136 |
|
137 |
**Een doorlopend idee is dat er een centrale module moet zijn die snel en slim |
138 |
voorstellen kan doen op basis van ieders agenda.** Als ik een afspraak wil maken |
139 |
met de studiebegeleiding, dan moet dat systeem bv. voorstellen: Het eerste |
140 |
moment dat zowel ik als de studiebegeleider vrij hebben in de agenda. Dit kan |
141 |
geabstraheerd worden voor alle studenten en personeel. Een waar centraal systeem |
142 |
voor een zelfbeherede agenda. |
143 |
|
144 |
Het is wel zo dat manuele overrides mogelijk moeten zijn; iedereen zou moeten |
145 |
kunnen schuiven in de agenda, maar daar staan ook limieten op: Een professor kan |
146 |
z'n les verplaatsen, een student niet. |
147 |
|
148 |
Ook zou er bij heel veel dingen de mogelijkheid moeten zijn om commentaar toe te |
149 |
voegen met MarkDown. Da's dus ook een centraal idee: MarkDown-commentaar waar |
150 |
het nuttig kan zijn. Misschien dat zelfs in een aparte tabel steken? |
151 |
(Databasenormalisatie) En misschien ook meerdere verzenders eraan vastmaken. |
152 |
|