Skip to content

christheyounger/goldfish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goldfish Project Management

Oooh, a castle!

Goldfish is a project manager that attempts to combine the features of several web technologies into a single package.

It isn't really inteded for use, rather as a project for me to cut my teeth on new technologies, but if you like it, great!

In addition to Symfony 2, Goldfish uses:

  • JMS Serializer
  • Mailgun
  • FOS Userbundle
  • Symfony ACL
  • Bower
  • Gulp (combine, minify)
  • Angular (inc Route, Resource)
  • Bootstrap
  • Font-awesome
  • Angular x-editable
  • jQuery & jQuery UI
  • Angular-UI-Bootstrap
  • Lodash
  • Moment.js
  • Smart Tables
  1. Installing

Clone the repo

git clone https://github.com/darkbluesun/goldfish

Create a database

Using your favourite relational database, create a database for Goldfish. You might also want to create a user with access only to this database, or not. You'll be asked for these details at the end of the next step.

Install Dependancies

As Symfony uses Composer to manage its dependencies, the recommended way to create a new project is to use it.

If you don't have Composer yet, download it following the instructions on http://getcomposer.org/ or just run the following command:

curl -s http://getcomposer.org/installer | php

The following command will install all the server-side dependancies.

php composer.phar install

At the end of that process you'll be asked for a number of local settings, including the database you created and user credentials to access it.

Building the database

Creating the (relatively few) tables that Goldfish uses is a one-step process, simply run:

app/console doctrine:schema:update --dump-sql --force

This will use the credentials and database you specified to build the tables. No data will be created yet. The --dump-sql switch simply prints out what the script is doing. It's nice to see details.

  1. Checking your System Configuration

Before starting coding, make sure that your local system is properly configured for Symfony.

Execute the check.php script from the command line:

php app/check.php

The script returns a status code of 0 if all mandatory requirements are met, 1 otherwise.

Access the config.php script from a browser:

http://localhost/path-to-project/web/config.php

If you get any warnings or recommendations, fix them before moving on.

  1. Install client-side libraries

This project uses a lot of client-side web technologies to make interactions nicer.

To install these libraries you will need to install Node.js.

Once installed, run the following command to install tools:

npm install

Once that runs successfully, you can run bower to install the libraries:

bower install

Finally, when all that is done, run Gulp to build your assets.

gulp