Giter VIP home page Giter VIP logo

sennetwork's Introduction

Sententiaregum

Build Status Scrutinizer Code Quality SensioLabsInsight

  1. About

Sententiaregum is free social network based on an AngularJS SPA (Single Page Application). In the background runs a RESTful webservice based on Symfony 2.

Develop Methodologies

This application is designed as an AngularJS SPA with a smart UI. The CRUD operations handles a RESTful API based on Symfony2. The API is tested by the BDD approach with PHPSpec and Behat

Features

  • An Angular SPA application with a RESTful webservice
  • Extended bootstrap layout
  • Login and Registration interface
  • BDD approach with PHPSpec and Behat test suites
  • pre-configured vagrant box (see more about it: Wasted Vagrant box)

Current ToDo

  • Implement microblogging
    • Build GUI
    • Simple post function:
      • create posts (with images)
      • comment posts
      • share posts
      • follow users to receive their posts
  • "Captcha" for the registration rest api
  • Logout
  1. Install

Clone repository

git clone -b master https://github.com/Ma27/SenNetwork.git /path/to/webroot
cd /path/to/webroot

The smartest way to deploy is using rake.

rake

Note: this commands creates an test admin user with name "root" and password "sen-unsafe-password222" Note: if you use the vagrant, please use this command:

rake vagrant

###Install all dependencies

Ths application has lots of dependencies like PHP5.5, node.js or SASS. You can automate installing these on Ubuntu and Mac OS X.

# ubuntu
rake setup:ubuntu

# mac
rake setup:mac

###Here are all required commands listed

Please install the software by the following shell commands

Add sass

gem install sass

Install bower and grunt

npm install -g grunt-cli
npm install -g bower

Load Bower any node.js dependencies

bower install
npm install

Build production environment

grunt

Note: If you don't have npm installed yet, you could install it by the following commands

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Load Composer dependencies (without dev)

curl -s http://getcomposer.org/installer | php
composer install -d api --no-dev

Process doctrine migrations

cd api
php app/console doctrine:migrations:migrate --no-interaction

Flush redis cache

php app/console redis:flush

Shortcut

You could ran the install commands by executing the following command after cloning of this repository

./setup.sh

Create admin user

php app/console sententiaregum:user:create-admin --name={admin name} --password={password} --email={email}
  1. Check requirements:

Please check at first the Symfony 2 requirements

php api/app/check.php

Additional criteria

  • PHP 5.5.0 or higher
  • MySQL 5 database
  • WebSocket support
  • Bower (for frontend stuff)
  • node.js (used for grunt tasks)
  • SASS (style sheets are written in scss)
  • Composer (autoloader and package manager for symfony)
  1. LICENSE

This software is published under GPL license

Check out the LICENSE file in the document root

  1. Run tests

In order to run the behavior tests of this application, you have to install the dev dependencies during the composer install. This works like this:

composer install -d api

You can run all the tests quickliy with the following command:

rake test

Now you can run the PHPSpec and Behat test suite:

cd api
bin/phpspec run
bin/behat
  1. Develop

I'm using a vagrant box called wasted to develop this application: You can use this application local with the on-package vagrant box

cd vagrant
vagrant up

More information about Wasted

  1. IDE

I recommend using PHPStorm 8 with the Symfony2 Plugin so you have full AngularJS and Symfony2 support and completion in your IDE.

sennetwork's People

Contributors

ma27 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.