Coder Social home page Coder Social logo

nickbe / dime Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stiftungswo/dime

0.0 2.0 0.0 69.75 MB

DimeERP - Timetracker, Offers & Invoices

License: MIT License

ApacheConf 0.01% PHP 56.97% HTML 20.68% Ruby 0.31% Shell 0.51% CSS 0.33% JavaScript 3.05% Dart 16.53% Makefile 0.49% Python 0.68% Batchfile 0.44%

dime's Introduction

DimeErp

An ERP based on Symfony and AngularDart

Build Status

General Purpose

The project's purpose is tracking working Expenses Writing Offers and Sending Invoices

An API and open architecture will serve additional purposes:

  • accounting and invoicing (generate invoices, add non-time related items)
  • manage customers (CRM)
  • project management

Demo

See the Vagrant VM in env Folder

Installation

Windows

Download and install VirtualBox:

https://www.virtualbox.org/

Download and install Cygwin:

https://cygwin.com/
In the package selection of the setup, search rsync and add it

Modify the hosts file:

In C:\Windows\System32\drivers\etc\hosts add the line
192.168.122.10 dime.test.local

Download and install a Git client:

e.g. https://www.sourcetreeapp.com/
Check out the current version

Fix vagrant rsync bug:

Find file: C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\synced_folders\rsync\helper.rb
Find code snippet and change third line to:  

if Vagrant::Util::Platform.windows?
    # rsync for Windows expects cygwin style paths, always.
    hostpath = "/cygdrive" + Vagrant::Util::Platform.cygwin_path(hostpath)
end

Start the virtual machine via the cygwin terminal:

cd /cygdrive/c/Users/YourName/Dime/env
vagrant up

Download e.g. Dartium which is a Google Chrome for developpers:

https://www.dartlang.org/tools/dartium/
Start it by unzipping and executing the file chrome.exe
Go to the page http://dime.test.local (-> this page does not work in a normal browser!)

OSX

Generally the same steps as for Windows:

  • Install VirtualBox, Vagrant and Dartium
  • run "vagrant up" in the env/ folder
  • Open in Dartium: http://dime.test.local

Default Vagrant File Sync on OSX is very slow, you may want to use rsync or nfs to speed things up

Update

Update to last version

git pull
git submodule update
php composer.phar self-update
php composer.phar update -v
app/console assetic:dump
app/console assets:install --symlink

If you have any problem remove vendor and install again

rm -fR vendor

Update database

app/console doctrine:migrations:migrate

Bundles

There are Multiple Bundle Seperated by features: TimetrackerBundle Base Entities and RestAPI for them OfferBundle Offer Entities ans RestAPI InvoiceBundle Invoice Entities and RestAPI PrintingBundle Service for Printing PDF's FrontendBundle The Javascript GUI SwoCommonsBundle Some Entities and Resources used by all our Applications

Contributing

Please feel free to contribute issues, improvements and feedback.

For code contributions, Symfony2 Coding Standards are the way we want to go.

Please write in English and use the doc folders for documentation and proposals rather than Github wiki.

Development-Branches

The branches API and Frontend are gone. We switch now to feature branches. Every feature branch will be created from master. Here the steps to go.

Create remote feature branch:

git pull origin master
git push origin ISSUENO-and-a-short-description
git checkout -t ISSUENO-and-a-short-description

or for short bugfixing create only a local branch:

git pull origin master
git checkout -b ISSUENO-and-a-short-description

keep up to date with the master (not sure with this - have to test it):

git fetch origin master
git rebase orgin/master

if your work is done, merge back to master:

git checkout master
git fetch
git rebase
git merge ISSUENO-and-a-short-description

Finally remove remote feature branch:

git push origin :ISSUENO-and-a-short-description

and the local branch too:

git branch -d ISSUENO-and-a-short-description

Run Test

Run tests:

phpunit -c app/

Run a single test:

phpunit -c app/ --filter ActivitiesControllerTest::testGetActivitiesAction

Building the Frontend

To build the JS & HTML files for deployment, run these commands inside the VM:

cd /vagrant/env && ./pub.sh build

Always build the frontend before merging into master!

Database Schema Management

Update Database Schema to the latest version:

php app/console doctrine:migrations:migrate

Migrate Database Schema to a specific version:

php app/console doctrine:migrations:migrate <version>

Generate new Empty Migration Class:

php app/console doctrine:migrations:generate

Fixtures

The fixtures are an example dataset that can be used while developing. But more important: the tests run against this database.

Load fixtures into the database:

/vagrant/env/fixtures/load_fixtures.sh

When the database schema changed, you need to regenerate the fixtures. You can do this with the following command:

cd /vagrant/env/fixtures/ && ./regenerate_fixtures.sh

Then export the changes again and check in the new dime.sql into git

cd /vagrant/env/fixtures/ && ./export_fixtures.sh 

dime's People

Contributors

toasterson avatar nogo avatar demianh avatar quafzi avatar ursfrick avatar thomasjez avatar bascht avatar mikewink avatar gaut-3 avatar tehral avatar

Watchers

James Cloos avatar Nick 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.