Giter VIP home page Giter VIP logo

laraestimate's Introduction

LaraEstimate

LaraEstimate is a complete Dynamic Estimates/Quotes System made with Laravel 7 and VueJS.

Estimates Screen

Selecting Items

The system has the following features:

  • Allows to create Estimates with Dynamic Pricing (so your customer can simulate the total price selecting/unselecting items)
  • Allows sending Estimates links
  • Allows sending Estimates to E-mail
  • Allows printing Estimates
  • Allows multiple text and price sections on Estimate (with Dynamic Price or not)
  • Allows duplicating Estimates for rapid creation
  • Allows changing the Estimate Currency, Decimal Separator, and Thousands Separator
  • Allows translating to other languages using Laravel Localization System

If you want, you can see a live preview here: Live Preview - LaraEstimate

LaraEstimate has an intuitive and beautiful interface for creating and presenting estimates...

Documentation

Click here to see the documentation

ToDo

Things I want to add in the future

  • Estimate password
  • Scroll after adding a section
  • Expiration Date
  • Estimate Templates
  • Estimate Designs
  • Add more translations
  • Private estimate (needs customer login)

Supporting

Please consider following me on Twitter

Follow me

If you liked this system, please consider following me on Twitter to stay on top of the news I intend to release soon

Languages

Current available localizations:

  • English
  • German (thanks to johanneslo1)
  • Portuguese (Brazil)

License

MIT

laraestimate's People

Contributors

dependabot[bot] avatar johanneslo1 avatar tiagosilvapereira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laraestimate's Issues

Forced generate HTTPS routes

I use LaraEstimate behind Nginx proxy_pass with SSL.

Here is my modification to force the app to generate links and routes with https :

root/app/Providers/AppServiceProvider.php

  • Add use Illuminate\Support\Facades\URL; :
<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
use KgBot\LaravelLocalization\Facades\ExportLocalizations;
use Illuminate\Support\Facades\URL;
...
  • Add URL::forceScheme('https'); in boot() function :
    public function boot()
    {
        URL::forceScheme('https');
        ...

Double horizontal-slide-in view at every request

Thank you for this project, please keep the good work.

There is a visual issue with the loading of the page.

The sliding effect (from the side) of the main frame is executed 2 times with a short interval when I open a link or reload the page.

I am not really good at PHP or Laravel but in Firefox I see that it seems that the effect or the view is reloaded when app.js charge the logo. Not sure if it's the source.

It's pretty fast but still visible.

[Request] Let's put more features

Some wishes for the future:

  • Add the choice to display the Estimate in different translation than the current interface. Useful to manage many customers languages with the same user.
  • Possibility to add a picture from the interface, and upload it to the app. Currently, I host them elsewhere and copy/paste.
  • Switch to Markdown. I think everyone will write all their drafts in another text editor, and then paste it to the app. Markdown is the best to stay simple, easy and to keep some formatting from an app to another.
  • Add a Table of Content, at least for the view. This will need more header levels.
  • Add Page Breaks to the text section editor.

Some things for the design

I added some scss elements for the view and the print :

  • display for blockquote and blockcode (pre) in the editor style.
  • blockquote more centered
  • pasted pictures are enlarged and centred with a 5% margin, same for the caption text under them
  • force the styles for print
  • force background printing for blockcode at print
  • hide the lines that are not selected in the pricing tables for print
/* Modifications for view and print */
blockquote {
    margin: 0 0 0 0.3em;
    padding: 0 1em 0 1em;
    border-left: 0.3em solid #ccc;
}

pre {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    font-family: monospace;
    font-size: 0.9em;
    margin: 0;
    padding: 0.5em;
    background-color: #eee;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

figure img {
    width: 90%;
    height: auto;
    margin: 0 5% 0 5%;
    border: dashed medium #ccc;
}

figcaption {
    width: 90%;
    height: auto;
    text-align: center;
}

@media print {
  blockquote {
      margin: 0 0 0 0.3em;
      padding: 0 1em 0 1em;
      border-style: none;
      border-left: 0.3em solid #ccc;
  }
  tr.item:not(.selected) {
      display: none;
  }
}

Double animation on page load

Hi Tiago! This is my first ever GitHub issue creation!

Loving the app. I did notice a double animation on page load. I'll attach a GIF of what I've seeing.
double-animation

Correct Public URL for the custom Logo in settings and in estimations headers

In the current master the custom Logo picture is forced with the localhost URL from the APP_URL env variable.

I use it behind a proxy and a public URL, here my own correction :

webroot/.env

  • Add a new variable with the custom public URL :
WEB_URL=https://public.domain

webroot/config/filesystems.php

  • Modify the variable in disks/public/url:env :
    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('WEB_URL').'/storage',
            ...

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.