social network for educational purposes only
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
app
bootstrap
config
database
public
resources
routes
storage
tests
.env.example
.gitattributes
.gitignore
artisan
composer.json
composer.lock
gulpfile.js
ignore.txt
package.json
phpunit.xml
readme.md
server.php

readme.md

InstaHub

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:

Install

Prerequisits

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://github.com/wi-wissen/instahub.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
    • 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)
  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.

Contributing

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

Contributers

InstaHub used parts of Laragram from itsshady101

License

Mozilla Public License (MPL)