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: https://instahub.org/
Read more (only in German): https://blog.wi-wissen.de/
Standing on the shoulders of giants
Many thanks and respect to:
- jQuery with Backstretch
- Photos by pixabay (CC0)
- Splash images by unsplash.com (CC0)
- Face images by unsplash.com (CC0)
- Fake Ad images based on unsplash.com (CC0)
- Have min. PHP 7.0
- Download composer https://getcomposer.org/download/
- Download git https://git-scm.com/downloads
- Have a top-level domain for InstaHub
Prerequisits for Windows users
- Download XAMMP: https://www.apachefriends.org/download.html
- (Optional) Download and extract cmder mini: https://github.com/cmderdev/cmder/releases/download/v220.127.116.11/cmder_mini.zip
- Update windows environment variable path to point to your php install folder (inside XAMMP installation dir) (here is how you can do this http://stackoverflow.com/questions/17727436/how-to-properly-set-php-environment-variable-to-run-commands-in-git-bash)
Mac Os, Ubuntu and Windows
- Create a local database named
instahubwith encoding utf8_general_ci
- Create user
instahuband grant all rights on
instahuband for creating databases
- cd to your local target folder and clone remote project:
git clone git://github.com/wi-wissen/instahub.git
.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)
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)
- Open the console and cd to your project root directory
php composer.phar install(Howto install composer)
- You may need to configure some permissions. Directories within the
bootstrap/cachedirectories should be writable by your web server
php artisan key:generate
php artisan migrate
php artisan migrate --path=/database/migrations/users
- Configure your top-level domain and all subdomains (wildcard) to point to the
- Visit website and create first teacher (ignore error after creating, thats okay cause you are the first).
- In the
usertable of your database, manually set the attribute
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.