Q&A platform based on Flake
INSTALATION:
- Clone the Repository or Download the .zip file
- Create a virtual host on your server
- Create a database and import the *.sql file
- Edit /application/assets/Db/DbConnection.php with your mysql server user password and db
- Edit the $app->base_url from index.php and js/site.js to match your virtual host
FEATURES:
Guests can: - View sections
- View questions and answers
- Register
Members can:
1. Add questions
2. Edit questions
3. Subscribe to a question( you recive an email when a subscribed question is updated or an answer is added)
4. Answer to questions
5. Edit answers
6. Rate answers
7. Manage subscriptions
8. Edit profile
INFO:
Design patterns used:
1. Observer(for subscribed questions on update or answer sends an email to subscribed users)
2. Data Mapper(for mapping the entities to the database)
3. Singleton(the Db connection and the Registry)
4. Abstract Factory(the Registry)
5. Factory(ControllerFactory and ModelFactory)
6. Strategy (Based on the login method chosed calls different methods)
7. Adapter {DbAdapter can be used with different Db types}