Skip to content

Clone of the user vote driven arabic community arabia.io

License

Notifications You must be signed in to change notification settings

elhadiabdallah/arabiaIO-clone

 
 

Repository files navigation

[ArabiaIO-Clone]

ArabiaIOClone is an open source implementation of the vote based arabic tech community (http://arabia.io)

To see a running demo check out http://www.scyware.com/arabiaioclone!

This project is build with the awsome laravel framework Laravel 4

Donate

Purpose and Features

This project has two main purposes:

  • To create the first open source arabic vote based discussion board
  • To provide a source of a real website that's using the Laravel PHP Framework and implements good design patterns for its architecture.

The features of [ArabiaIO-Clone] are:

  • User account management. registering, login, activating and forget password.
  • Sorting posts
  • Communities for each user submitted post.
  • Hierarchical commenting.
  • Vote-based posts and comments
  • Presenter classes implemented with the Laravel Auto Presenter package.
  • Arabic localized
  • ... and others

Requirements

The ArabiaIO-Clone website requires a server with PHP 5.4+ that has the MCrypt extension installed.

The database engine that is used to store data for this application could be any of the engines supported by Laravel: MySQL, Postgres, SQLite and SQL Server.

Project structure

The domain classes can be found in the app/ArabiaIOClone directory. This contains all the application's logic. The controllers merely call these classes to perform the application's tasks.

  • Presenters: Contains all the Presenter classes which utilizes the Laravel Auto Presenter package. This provides a clean way to keep logic out of your views and encapsulate it all into one place.
  • Providers: Contains all the application's Service Provider classes, which register the custom components to the application's IoC container. This, among many other advantages, eases the process of injecting classes/implementations.
  • Repositories: Contains all the Repository classes. Repositories are used to abstract away the persistance layer interactions. This causes your classes to be less tightly coupled to an ORM like Eloquent. All the repositories implement an interface found in the root of the Repositories directory, which makes it easier to switch implementations.
  • Services
    • Forms: Contains the Form classes, which are used to validate the user input upon form submission.

Contributing

Contributions to this repository are more than welcome although not all suggestions will be accepted and merged.

Authors

Hichem MHAMED

Copyright and license

Code released under the MIT license.

About

Clone of the user vote driven arabic community arabia.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published