Analyse - sagendar/LibraryOfKnowledge GitHub Wiki
Analyse Library Of Knowledge
Project idea
The idea behind the Library of Knowledge is to create a platform to exchange knowledge and gain new knowledge. We wanted to create something that is a bit bigger of a project that also challenges us so we learn new things and can implement the things we learned during the module. The platform should be similar to stackoverflow but you can also create documentation's and if we have spare time, we want to implement some more features.
System requirements
The page is hosted on a nginx web server with and has a mysql database. The main programming language will be php.
System functions
MH = Must have function | SH = Should have function | CH = Could have function For the user:
- Create Question / Documentation -> MH
- Edit Question / Documentation (edit / delete) -> MH
- Comment on Question's and Documentation's -> MH
- Have a profile that can be customized and shows the questions the user asked or documentation's posted -> SH
- Login and register himself (could think about implementing two-factor authentification -> CH) -> MH
- (Chat -> CH)
- Create Tags for Question's / Documentation for filtering -> SH
For the admin:
- Create Question / Documentation -> MH
- Edit Question / Documentation (edit / delete) -> MH
- Comment on Question's and Documentation's -> MH
- Manage the user's -> MH
- Set user permissions if needed -> MH
- (Manage Statistics) -> CH
- Time out functions for users (e.g. can't comment for 2 days) -> CH
- Have a log file
Sense & purpose
Library of Knowledge should be a platform where people from all over the world can post Documentations & Questions and get help from other people. It should be something similar to stackOverflow, but not really stackOverflow. It should help users grow their knowledge and be a place where you can look up topics and don't have to google for hours to find something.
Work method
We used scrum an agile software development method. Every Friday morning we did a quick review of the work we did in this "1-week sprint" and then planned what we wanted to in the next sprint. If we didn't have school, we did our review over a call. Like this we good always have good knowledge what the other person was doing and what was going on next.
Use Case
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCaseDiagram.png
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase1.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase2.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase3.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase4.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase5.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase6.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase7.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase8.PNG
https://github.com/sagendar/LibraryOfKnowledge/blob/master/gitImg/UseCase9.PNG