Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
April 7, 2023 19:20
February 12, 2022 15:56
February 12, 2022 15:56
March 21, 2023 16:10
February 12, 2022 15:56
August 21, 2021 08:43
September 3, 2016 23:11
February 14, 2022 20:04
September 3, 2016 23:11
February 12, 2022 15:56
March 21, 2023 16:10
September 3, 2016 23:11
March 21, 2023 16:10
February 11, 2022 23:23
February 12, 2022 23:12


Source code and install instructions are in English. Documentation and excersices currently are available in German only.

InstaHub is a social network for educational purpose only. Students can create their own social network as a database admin. They learn basics about working in a software project, creating and managing a database, querying (SQL SELECT) and editing (SQL INSERT, UPDATE and DELETE).

This project aims to help students develop a general technical understanding of social networks. As result, they will be able to discuss sinjects as big data and information privacy.

Live Demo:

Read more (only in German):

Standing on the shoulders of giants

Many thanks and respect to:



Prerequisits for Windows users

Mac Os, Ubuntu and Windows

  1. Create a local database named instahub with encoding utf8_general_ci
  2. Create user instahub and grant all rights on instahub and for creating databases
  3. cd to your local target folder and clone remote project: git clone git://
  4. Rename .env.example file to .envinside your project root and fill in the database information. (windows won't let you do that, so you have to use Notepad++ or open your console, cd your project root directory and run mv .env.example .env )
  5. Edit .env
    • APP_ENV=production (In test Teacher will be activated automatically.)
    • APP_DEBUG=false - enable only temporaly for debugging!
    • DB_* - if you want another database than MySQL, you have to edit source code.
    • DB_USERNAME - user for database
    • DB_PASSWORD - passwort for database
    • MAIL_* - mail provider for notification of new teachers and resetting passworts (admin accounts may reset passworts without sending a mail)
  6. Open the console and cd to your project root directory
  7. Run composer install or php composer.phar install (Howto install composer) Optional: Just to be safe or if an error occur on bootup run php artisan config:clear
  8. You may need to configure some permissions. Directories within the storage and the bootstrap/cache directories should be writable by your web server
  9. Run php artisan key:generate
  10. Run php artisan migrate
  11. Run php artisan migrate --path=/database/migrations/users
  12. Configure your top-level domain and all subdomains (wildcard) to point to the public directory
  13. Visit website and create first teacher (ignore error after creating, thats okay cause you are the first).
  14. In the user table of your database, manually set the attribute is_active to 1 and role to admin. Now your user is admin and may manage other accounts.

I recomend to add a cronjob to your system: * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1 Then InstaHub will delete old analytic database files each night.


Thank you for considering contributing to the InstaHub! Create a pull request or contact me.


InstaHub used parts of Laragram from itsshady101


Mozilla Public License (MPL)