Website project (CMS,talen,registratie)
Ben ik weer met een informatie aanvraag topic ;) Omdat ik geen betere categorie kon vinden heb ik hem maar gepost in PHP.
Mijn vraag is, hoe pakken jullie een iets groter project aan. Mijn ontwikkelingen zijn eigenlijk alleen nog maar websites met hooguit 10 statische pagina's en wat fotoalbums (grotere sites heb ik wel voor mij zelf gemaakt maar niet voor iemand anders...)
Ik moet dus in de zomervakantie een project gaan runnen welke inhoud:
- CMS systeem
- Seminar/workshop registratie (verkopen dus)
- Nieuwsbrief (admin interface heb ik al vernieuwd)
- Variabel aantal talen
- Koppeling met een ander project (niet echt moeilijk :))
- Nieuws
- (toekomst) forum
- (toekomst) mogelijkheid tot downloaden van profielen (=ICC kleur profiel á 2 mb)
Wat voor mij de extra dimensie oplevert is dat alles in een variabel aantal talen moet. Hoe beginnen jullie hieraan? Hebben jullie gewoon nog handige tips?
Gewijzigd op 01/01/1970 01:00:00 door Marien xD
Ik denk dat je eerst even alles moet uitschrijven op papier, met evt een brainstorm erbij. Daarna ga je resources verzamelen. Voor e nieuwsbrief kun je perfect phpmailer bijvoorbeeld gebruiken. Het wiel hoeft niet opnieuw uitgevonden te worden. Nieuwsysteem kun je zelf zo programmeren dat is ook een halfuurtje/uurtje werk. CMS kun je bijvoorbeeld van Arjan Kapteijn gebruiken(mits met toestemming). Zo heb je het meeste werk al gedaan.
CMS zou je kunnen uitbreiden met een simpele dropdown per taal, dan ben je redelijk snel klaar. Per 'pagina' schrijf je dan in de database ook bij welke taal het hoort, als je vervolgens op je index een sessie wegschrijft met de taal kan je eenvoudig paginas ophalen.
colorconcepts.nl
Ik zat er aan te denken om eerst de basis laag te maken (met daarin het CMS) Hier bovenop het registratie systeem enzo als een soort modules. Hoe zou je een module aanpakken? Als een map die geindexeerd word en dan beschikbaar is in de admin o.i.d.?
Het volledige systeem moet erg flexibel zijn in de toekomst. Dus daar zit een beetje de moeilijkheid voor mij :)
edit:
Waar ik ook nog rekening mee moet gaan houden is dat er User Profiles op komen. Duur woord voor een user systeem waar mensen op kunnen inloggen en dan alle communicatie met het bedrijf kan zien. (dus wanneer training gevolgd en welke profielen zijn besteld enz.)
Ok bedankt voor jullie reacties. Voor een indruk zou je eens kunnen kijken op Ik zat er aan te denken om eerst de basis laag te maken (met daarin het CMS) Hier bovenop het registratie systeem enzo als een soort modules. Hoe zou je een module aanpakken? Als een map die geindexeerd word en dan beschikbaar is in de admin o.i.d.?
Het volledige systeem moet erg flexibel zijn in de toekomst. Dus daar zit een beetje de moeilijkheid voor mij :)
edit:
Waar ik ook nog rekening mee moet gaan houden is dat er User Profiles op komen. Duur woord voor een user systeem waar mensen op kunnen inloggen en dan alle communicatie met het bedrijf kan zien. (dus wanneer training gevolgd en welke profielen zijn besteld enz.)
Gewijzigd op 01/01/1970 01:00:00 door Marien xD
Vervolgens een flowchart maken welke paginas aan wat moeten link, en erbij schrijven wat elke pagina moet doen, en wat je erop moet kunnen.
Vervolgens elke functie uit schrijven en omschrijven wat het moet doen en waarvoor het dient.
Dan in de php verwerken :)
Ik ga zeker beginnen aan die flowchart. Ik neem aan dat een programma als Visio daar perfect aan voldoet! Ik denk dat dat me ook een veel beter idee gaat geven hoe het precies moet gaan worden.
Bedankt alvast voor jullie reacties!
@Jan
Die ga ik zeker gebruiken, erg makkelijk voor beheer later.
@jurgen
De back-end van het nieuwsbrief systeem werkt al (in verschillende talen) Deze draait idd op PHPmailer. Misschien als ik het nog iets verder ontwikkel dat ik hem hier post.
root
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
-index.php
-modules/
--module1/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
--module2/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
-modules/
--module1/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
--module2/
---info.ini (daarin staat de naam van de module en evt. meer info)
---install.php (installator (maakt MySQL tabellen etc.)
---admin/ (de pagina's die in de back-end weergegeven moeten worden)
---module/ (zie boven maar dan voor de front-end)
etcetera
Gewijzigd op 01/01/1970 01:00:00 door - -
Het is natuurlijk een super idee om zo met back end en front end gedeelte te werken in een module. Zo kan ik bijvoorbeeld een website ontwikkelen op basis van mijn standaard CMS en daar specifieke uitbreidingen op maken.
Alleen mijn vraag nu weer is dan: hoe laad ik die modulen in. Gewoon een simpele include? Of zijn er mooiere flexibelere oplossingen?
Een admin uploadt een module, en opent de back-end. In de back-end zit een knop om modules te scannen. Die gaat alle mappen zoeken in de map modules, en vergelijkt ze met de mapnamen in de database. Hij ziet dat er een nieuwe map is, en voegt die toe aan de database. Dan redirect hij naar de install.php van de nieuwe module, zodat de module zelf nog dingen kan doen. Op het moment dat er een front-end pagina word geopend, worden alle mapnamen van modules uit de database gehaald, en word per module de info.ini bekeken. Daarin staan de bestanden die geïnclude moeten worden (bv door kommas gescheiden). De front-end include deze bestanden stuk voor stuk.
@Jona jij bedoelt Joomla ;)
Dat lijkt er idd aardig op ja :) Maar ik wil dit zelf ontwikkelen omdat ik meer controle heb op het eindresultaat. Daardoor kan ik het ook gaan her gebruiken voor toekomstige projecten (Vandaar ook het idee van de modules!). En zelf heb ik een gruwelijke hekel aan Joomla!
Marien schreef op 04.07.2007 17:12:
Je spreekt me wel aan ;-)En zelf heb ik een gruwelijke hekel aan Joomla!
Tips zijn nog steeds welkom :)
@Jonathan
Dit is verpest door iemand die ik ken. Zo gezegd websites kunnen maken (maar uiteindelijk alleen maar templates kunnen maken. En nog lelijk ook ;)). En daar dan ook nog een eigen bedrijf in hebben. bbrrrrrrrr.
- Requirements (wensen,eisen)
- Structuur (o.a. UML - klassendiagram, bestandsstructuur)
- ERD (zo goed mogelijk maken heb je later profijt van / met MS visio)
- Implementeren
- Testen
Implementeren en testen is iets wat je eigenlijk steeds overnieuw doet.
Misschien nog wat tips:
- Lay-out scheiden van business-code (templates dus)
- Codeer afspraken maken
- Maak een framework (Dit kun je hergebruiken voor andere projecten)
Wat zou je aanraden om precies in die UML te zetten (hoe diep in het system laat maar zeggen) Zet je alle klassen en functies erin of hou je het meer globaal?
Wat is een ERD :$ het is al meer dan een jaar geleden dat ik dat gehad heb op school ;)
Een ERD (Entities Relation Diagram) geeft de structuur van je database aan. Dus welke tabellen zijn er en wat voor kolommen zitten er in. Relaties tussen tabellen zou je ook aan kunnen geven. Maar daar wordt het meestal een
onoverzichtelijke zooi van.
Voorbeeldje:
(a) = auto increment
In MS-visio kun je dit nog mooier aangeven allemaal, dus met primary keys en indexen.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B