🐣 vue GUI generator

Overview

vuegg

vue.js GUI generator

[ Mockups and code in one go! ]


vuejs travis-ci codacy MIT

donate


About vuegg

Scaffold vuejs projects by dragging-dropping components directly into the visual editor and moving-resizing them to your choice. Vuegg leverages the creation of the pages and routes of your app/website, eases the styling work and helps to achieve a rapid-prototyping workflow (... at least in theory).

The aim of this project is to merge designing and prototyping into one single process. Whenever you're happy with what you see on the screen, just get your code.



Current Features

  • Mockup / prototype by drag'n'drop components and move/resize them
  • Support for standard Mouse and Keyboard combinations
  • Responsive preview (phone, tablet, web)
  • Basic set of HTML5 elements
  • Material design components (vue-mdc-adapter)
  • Vuejs sources generation (download .zip)
  • Connect with GitHub (save/load vuegg projects)
  • Local persistence to save the work in progress
  • ... more to come with time

Keyboard Shortcuts

Select

  • Mouse down + Drag + Mouse up: Draw a selection area
  • Ctrl [or Meta] + Click: Select outer-most item, or parent container
  • Ctrl [or Meta] + Shift + Click: Add [outer-most] item to selection
  • Esc: Clear selection

Move

  • Mouse drag & drop: The standard way
  • ArrowKeys: Moves the selected elements 1px
  • Shift + ArrowKeys: Moves the selected elements 10px

Copy / Cut / paste

  • Ctrl [or Meta] + C: Copy selection
  • Ctrl [or Meta] + X: Cut selection
  • Ctrl [or Meta] + V: paste selection

Delete

  • Delete [or Backspace]: Deletes selection

Undo / Redo

  • Ctrl [or Meta] + Z: Undo last action
  • Ctrl [or Meta] + Shift + Z: Redo last action

Roadmap

Off the top of my head, I foresee the following features to be developed for the next releases:

  • Visual feedback when dragging element over droppable container
  • Grid/layout overlays positioning guides (#14)
  • Hold shift to maintain aspect ratio on manual resize
  • Ability to zoom-in / zoom-out in the editor (#24)
  • Allow the insertion of raw CSS rules (expert mode)
    • Identify possible risks
  • Add extra styles controls
    • BoxShadow
    • Overflow
    • TextOverflow
  • Manage creation/edition of custom components
    • Transition to custom component (group/ungroup)
    • Implement custom component editor view
  • Implement tree navigator to visualize page structure

Run vuegg locally

Auto-run

# install, build and serve
npm run vuegg

Navigate to localhost:5000 to serve (a production-ready) vuegg.


Step-by-step setup

1. installation
# install client & server dependencies
npm run install:all

# OR install only client / server
npm run install:client
npm run install:server
2. development
# serve vuegg-client with hot reload
npm run client

# start vuegg-server (auto-restarts on changes)
npm run server

Navigate to localhost:8080 to serve vuegg-client with hot-reload (development server).

For detailed explanation on how things work on the client side, checkout the vuejs-templates/webpack guide and docs for vue-loader.

For development vuegg-server will only generate vuejs projects (it won't be serving vuegg-client resources). Auto-restart capabilities possible thanks to nodemon.

The above commands should be run in separate terminal instances.

3. production
# build vuegg-client for production with minification
npm run build

# start vuegg-server at localhost:5000
npm run start

Navigate to localhost:5000 to serve (a production-ready) vuegg.


Connect with github

Vuegg makes use of .env files to set up some environment variables. The current setup allows you to have 3 files with different configurations: .env, .env.dev and/or .env.test, containing the following variables:

# Create an OAuth App on github and use your client ID and Secret

CLIENT_ID=y0urcl13nt1d
CLIENT_SECRET=y0urcl13nts3cr3t
CALLBACK_URL=http://localhost:8000/auth

This files should exist only on your local machine, do not add them to the git repository.

Now if you wish to test out the connect with github functionality on your local environment, it's necessary to run vuegg-client and vuegg-server through the following command:

npm run oauth

You should be prompted with 3 options to pick. Run server and client in separate terminal instances.


History & current state

The project was born as a sandbox for me to get started on the vue world, in fact its unoriginal name was vuexample (very unique, I thought at the time).

Not long after it became a personal challenge, I went on adding new features (mainly things I feel like learning) and gave it a proper name (and even a face). Eventually I considered it to be ready for the open-source community... and here is vuegg, my pet project.


Contribute

Vuegg is a concept project (and work-in-progress too), feel free to fork it or contribute however possible. You've got a feature idea? Open an issue! Are you up to the task of implementing it? Open a PR!

Help me make vuegg grow!


Donate

Do you like vuegg? 🐣

As for today, this project is developed and maintained with ❤️ by @alxpez, on spare time, after work hours and during homie weekends. There's still much work to do and ideas waiting to come afloat.

Code contribution is the most desirable help to keep the project going, but for those with no much time in hands that still want contribute...

Become a Patron OR Buy Me A Coffee

Your donation will help me to stay awake during those hours I should be sleeping.

Issues
  • Elements can't be deleted

    Elements can't be deleted

    I'm using some features of Vuegg without problem but after putting a toggle button, the application started to bug and the delete functionality is not working properly.

    After copying and paste the layout from another screen and creating a new page, the deleting behavior stopped work and now I can't even deleting the toggle component and nor the new page.

    I can delete others components together, but the toggle persists.

    I'm using Manjaro Linux and Vuegg web version on Mozilla and Opera and both is not working.

    ❓question 
    opened by mfcarneiro 6
  • chore: add Node.js 10

    chore: add Node.js 10

    Description This adds Node.js 10 to the CI tests.

    Motivation and Context Test the latest stable release of Node.js.

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
    opened by DanielRuf 4
  • Question?

    Question?

    Please answer this question. I have been working on the task which is for the page/skin builder. I love Vue that's reason I started work on vuegg, there is 80% features has been developed by you for my product requirement. Also I have added many features according to product requirement, It's fun and easy to work on it. But since last week I have been got stuck to add hover feature on Main Container so that question is how can I implement the effect of hover and workable display on preview page? alt text

    opened by essamamdani 4
  • [Bug] Why downloaded zip folder is empty?

    [Bug] Why downloaded zip folder is empty?

    I open your and create a basic design by dropping some elements. But when I download the file the zip i get is empty..why so?

    opened by theshashiverma 3
  • Github User authentication question.

    Github User authentication question.

    Login successful, but invalid. Click login again , and the authentication window closes automatically image

    ajax http://localhost:8080/api/get-access-token is right?

    image

    I'm try return my token , it's OK.

    image

    ❓question 
    opened by 625781186 2
  • Greenkeeper/initial

    Greenkeeper/initial

    setting up green keeper

    opened by alxpez 2
  • [Bug] Generated Input are not considered as self closing elements

    [Bug] Generated Input are not considered as self closing elements

    I've generated an input text field and a radio button, downloaded the project, and I can see in the .Vue file these lines:

    <input class="BkeQ9B96z" value="" placeholder="placeholder" overflow="hidden" text-overflow="ellipsis"></input>
    
    <input class="H1Em9Bqaf" type="radio" name="default-group"></input>
    

    Shouldn't input tags be void elements and close themselves?

    🐞 bug 
    opened by HZooly 2
  • [Bug] Generated vue sources do not match with what is shown in the editor

    [Bug] Generated vue sources do not match with what is shown in the editor

    Currently, top app bar can be moved to the any Y point of the page. Ideally, it should stay on top of the page, whether it "fixed-to-top" or not.

    🐞 bug 
    opened by rustemgareev 2
  • Typo in client editor component

    Typo in client editor component

    Describe the bug/issue Not a bug exactly, but found typos in your client editor component MenuToggle.vue. Instead of "default", there is written "dafault". This might affect the functionality.

    Screenshots

    image

    🎉 good first issue 🐞 bug 
    opened by laghimp 2
  • Add license link

    Add license link

    invalid 
    opened by luisDanielRoviraContreras 1
  • [Feat] Vuegg is perfect for teaching

    [Feat] Vuegg is perfect for teaching

    Mainstream web development is file system based. But teaching needs to be web based. The students are all working from home, the teachers need to be able to monitor and inspect their work. Sure the Vue CLI does everything imaginable. I just need a simple tool for teaching Vue on the web. At first glance this looks perfect for what I need. Runs in the browser, and generates the required javascript file. With Vue, I presume that the the GUI works as you build it.

    Does this tool fo it for me? I do not know. Sadly there is no demo. Maybe there was a demo, but it is down. Your web siet "Go To Vegg" button does not work. I just spent a week wrestling with (and loosing to) JSON Schema Form generators, so today I am feeling much more cautious.

    Describe the solution you'd like

    A clear and concise description of what you want to happen.

    I just want a demo I can play with, without spending the time to fire up my own server.

    Describe alternatives you've considered Well maybe in a week or two, when I have recovered from my Json Schema Form Gui trauma, I will fire up my own version of the demo.

    opened by PythonLinks 1
  • the site is down

    the site is down

    Screen Shot 2021-03-02 at 2 27 08 AM
    opened by lili21 0
  • Please provide developer documentation so developer can easily understand the complete work-flow.

    Please provide developer documentation so developer can easily understand the complete work-flow.

    Is your feature request related to a problem? Please describe.

    A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like

    A clear and concise description of what you want to happen.

    Describe alternatives you've considered

    A clear and concise description of any alternative solutions or features you've considered.

    Additional context

    Add any other context or screenshots about the feature request here.

    opened by NagarRahul 0
  • chore(deps): bump axios from 0.17.1 to 0.21.1 in /client

    chore(deps): bump axios from 0.17.1 to 0.21.1 in /client

    Bumps axios from 0.17.1 to 0.21.1.

    Release notes

    Sourced from axios's releases.

    v0.21.1

    0.21.1 (December 21, 2020)

    Fixes and Functionality:

    • Hotfix: Prevent SSRF (#3410)
    • Protocol not parsed when setting proxy config from env vars (#3070)
    • Updating axios in types to be lower case (#2797)
    • Adding a type guard for AxiosError (#2949)

    Internal and Tests:

    • Remove the skipping of the socket http test (#3364)
    • Use different socket for Win32 test (#3375)

    Huge thanks to everyone who contributed to this release via code (authors listed below) or via reviews and triaging on GitHub:

    v0.21.0

    0.21.0 (October 23, 2020)

    Fixes and Functionality:

    • Fixing requestHeaders.Authorization (#3287)
    • Fixing node types (#3237)
    • Fixing axios.delete ignores config.data (#3282)
    • Revert "Fixing overwrite Blob/File type as Content-Type in browser. (#1773)" (#3289)
    • Fixing an issue that type 'null' and 'undefined' is not assignable to validateStatus when typescript strict option is enabled (#3200)

    Internal and Tests:

    • Lock travis to not use node v15 (#3361)

    Documentation:

    • Fixing simple typo, existant -> existent (#3252)
    • Fixing typos (#3309)

    Huge thanks to everyone who contributed to this release via code (authors listed below) or via reviews and triaging on GitHub:

    ... (truncated)

    Changelog

    Sourced from axios's changelog.

    0.21.1 (December 21, 2020)

    Fixes and Functionality:

    • Hotfix: Prevent SSRF (#3410)
    • Protocol not parsed when setting proxy config from env vars (#3070)
    • Updating axios in types to be lower case (#2797)
    • Adding a type guard for AxiosError (#2949)

    Internal and Tests:

    • Remove the skipping of the socket http test (#3364)
    • Use different socket for Win32 test (#3375)

    Huge thanks to everyone who contributed to this release via code (authors listed below) or via reviews and triaging on GitHub:

    0.21.0 (October 23, 2020)

    Fixes and Functionality:

    • Fixing requestHeaders.Authorization (#3287)
    • Fixing node types (#3237)
    • Fixing axios.delete ignores config.data (#3282)
    • Revert "Fixing overwrite Blob/File type as Content-Type in browser. (#1773)" (#3289)
    • Fixing an issue that type 'null' and 'undefined' is not assignable to validateStatus when typescript strict option is enabled (#3200)

    Internal and Tests:

    • Lock travis to not use node v15 (#3361)

    Documentation:

    • Fixing simple typo, existant -> existent (#3252)
    • Fixing typos (#3309)

    Huge thanks to everyone who contributed to this release via code (authors listed below) or via reviews and triaging on GitHub:

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by emilyemorehouse, a new releaser for axios since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Update .travis.yml

    Update .travis.yml

    Description

    improved docs

    Related Issue

    • If suggesting a new feature or change, please discuss it in an issue first.
    • If fixing a bug, there should be an issue describing it with steps to reproduce.
    • Please provide a link to the issue

    Motivation and Context

    Why is this change required? What problem does it solve? Ans : because the word impact of changed word is more than previous one

    Screenshots (if needed)

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [x] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
    opened by mdrafikrft 0
  • [Feat] Load Project without using Vuex replaceState

    [Feat] Load Project without using Vuex replaceState

    Is your feature request related to a problem? Please describe.

    The projectActions.loadVueggProject action uses the Vuex replaceState function, which complicates implementing this project into an existing application using Vuex.

    Describe the solution you'd like

    Modify the projectMutations.updateProject method to allow updating more properties than just the title.

    Describe alternatives you've considered

    Could potentially create a new method, though renaming the existing updateProject method to updateProjectTitle might be a bit clearer.

    opened by zachzoup 0
  • [Feat] Allow adding vue attributes and js code into elements

    [Feat] Allow adding vue attributes and js code into elements

    I would love to be able to use the vuegg editor to create simple, working apps, complete with specifying data for the app / components, and adding methods and code to be executed on events.

    For example, I imagine adding a variable x as data for the app, then setting an input element's v-model value to x, and adding a text element with {{ x }} as its value. And then add a button called Clear with a click handler that just runs the code x = "".

    So my feature requests are:

    1. allow editing data and methods for each app / component (setting up variables)
    2. allow inspecting each element and setting values like id, v-model, v-for, v-on:click etc.

    One possible implementation for this would be a 4th side panel tab after Elements, Settings, and Pages, maybe named Inspect or Code or Vue. Or as an additional section in the Settings tab, alongside General, Text, Border.

    feature help wanted 💬 discussion 
    opened by benjie-git 1
  • 404 node-sass download and fix path of vue-directive-template

    404 node-sass download and fix path of vue-directive-template

    Describe the bug

    *Description

    I changed the versions of node, npm and node-sass to the lastest and fixed a path of css in the module vue-directive-tooltip to fix this and run it right away

    Fixed the path as: vue-directive-tooltip/src/css/index.scss Put * to install the latest version in the respective package jsons in client and main directive

    Both errors are:

    Cannot download "https://github.com/sass/node-sass/releases/download/v4.9.0/darwin-x64-79_binding.node":

    HTTP error 404 Not Found

    Hint: If github.com is not accessible in your location try setting a proxy via HTTP_PROXY, e.g.

      export HTTP_PROXY=http://example.com:1234**Types of changes**
    

    ERROR in ./src/main.js Module not found: Error: Can't resolve 'vue-directive-tooltip/css/index.css' in '/Users/rinapatriciapincheiramardones/Desktop/vuegg/client/src' @ ./src/main.js 16:0-45

    To Reproduce

    Steps to reproduce the behavior:

    1. git clone this project
    2. npm run vuegg

    Screenshots

    If applicable, add screenshots to help explain your problem.

    Expected behavior

    A clear and concise description of what you expected to happen. To work

    Actual Behavior

    A clear and concise description of what it's actually happening. Doesn't even work Your environment

    • OS & version [e.g. iOS] MacBook Air
    • Browser name & version [e.g. chrome, safari]: Chrome
    • Vuegg version [e.g. 22] idk

    Additional context

    How has this bug affected you? What were you trying to accomplish? This project doesn't even run, To just run this project

    opened by SorayaPachecoP 2
  • rendering internal elements based on parent logic

    rendering internal elements based on parent logic

    Hello there and thanks for this awesome project. One thing that bothers me is that for components that considered as containegg in the code, putting aside "div", all the others have some logic defined for rendering their children. for instance consider list, or card in most of component libraries. or list item it self provides us with some rendering logic and predefined style and design for their children tags. but here in vuegg there is no possibility for parent components to properly render their child components because what they see is StageEl wrapper around the element and preventing the element to be the direct child of it's parent. this is not an issue considering div's, but when it comes to using 100% container components in every component libraries, this is the case.

    My suggestion :)

    In StageEl module you are gathering all the children of an element and creating these children wrapped in StageEl. the case here is that we check if the component has containegg property of true, then we do the same iteration on children and creating each child, but this time instead of creating the element as an StageEl, we go for child.type itself. this will solve the rendering problem but will prevent us from position handling of the Child elements; but still is a better practice because we still have the chance to do each container one at a time and then integrate them with upper hand parent. for instance i will first start designing my list item itself. when it is ready i will drag it inside my list, i can not modify the list item further, but i had the chance before integration. :)

    the other thing is that most of the components libraries are handling their components internal content positioning using flex box. we can still use absolute positioning for the direct children of Stage, but for internal children of components we can go for a flex based solution. i do not know how that can be possible ever, but if you have any suggestion about it i would be glad to contribute.

    for the moment i managed to integrate quasar into your awesome system, but it is sad when we can not benefit the features these libraries are providing us and we are stopped at the first step.

    THANKS in advance. 👍

    feature help wanted 
    opened by ghost 0
  • Local cannot download vue sources files

    Local cannot download vue sources files

    server error: common.js:82 cp: no such file or directory: D:/hbworkspace/vuegg-master/server/tmp/rk9SCznYV/templates/vue/default.vue

    ed: no such file or directory: D:/hbworkspace/vuegg-master/server/tmp/rk9SCznYV/src/pages/Home.vue

    opened by linglingyun10 0
Releases(0.19.0)
  • 0.19.0(May 8, 2018)

    • fix(MrContainer): fix position/dimension calculations due zoom feat
    • feat(ZoomMenu): implement ZoomMenu to control editor scale
    • feat(icons): add new svg icons for zoom feature

    Closes #24

    Source code(tar.gz)
    Source code(zip)
  • 0.18.1(May 6, 2018)

  • 0.18.0(May 6, 2018)

    • fix(#19): html builder to properly close void-elements (img, input)
    • feat(#17): include installation gotchas on readme
    • chore(package): update VMA to latest version (0.15.3)
      • feat(MaterialComponents): update MDC definitions to new VMA version
      • fix(styles): styles refactor and minor tweaks due to VMA version update
    • chore(github) include contributions guidelines & templates (bug,feat,PR)

    ... plus other minor changes #21

    Source code(tar.gz)
    Source code(zip)
  • 0.17.0(Apr 23, 2018)

    • fix(actionBtn): minor fix for actionBtn styles, due to changes on VMA
    • feat(Stage): implement border change for dropContainer (more intuitive)
    Source code(tar.gz)
    Source code(zip)
  • 0.16.0(Apr 19, 2018)

    • Refactor vuegg-specific attributes on HTML elements (and render functions) for more appropriate (correct) data-* attributes.

    This is meant to avoid problems with external components libraries (ie. VMA)

    Source code(tar.gz)
    Source code(zip)
  • 0.15.3(Apr 12, 2018)

  • 0.15.2(Mar 19, 2018)

  • 0.15.1(Mar 4, 2018)

Owner
vuegg
vue GUI generator
vuegg
The First Open-Source Laravel Vue headless CMS (PWA dashboard + CRUD + API generator & more) for more productivity !

The First Open-Source Laravel Vue headless PWA CMS. PWA dashboard + CRUD + API generator & more. Try live demo Badaso is a open-source Laravel Vue hea

Uasoft 206 Jul 21, 2021
A cross-platform GUI and ETCD client

ETCD Manager ETCD Manager Features Coming: v1.3 Available now Planned Installation End users.. Contributors.. Running the dev build Usage and support

Tamas Geschitz 175 Jul 22, 2021
Layoutit grid is a CSS Grid layout generator. Quickly draw down web pages layouts with our clean editor, and get HTML and CSS code to quickstart your next project.

Layoutit Grid CSS Grids layouts made easy! Layoutit grid is a CSS Grid layout generator. Quickly design web pages layouts with our clean editor, and g

Leniolabs_ 819 Jul 28, 2021
🐣 vue GUI generator

vuegg vue.js GUI generator [ Mockups and code in one go! ] About vuegg Scaffold vuejs projects by dragging-dropping components directly into the visua

vuegg 2k Jul 24, 2021
Vue component generator :)

Vue Component Generator vue.js component generator for beginner See Demo Build Setup # install dependencies npm install # serve with hot reload at lo

ChangJoo Park(박창주) 131 Jul 21, 2021
Nuxt.js frontend drop-in replacement for Vue.js FastAPI base project generator.

Accelerate your next FastAPI Base Project Generator frontend development by replacing Vue.js with NuxtJS, an open source framework making web development simple and powerful.

Whythawk 16 Jul 22, 2021
📕 A website simulating linux system's GUI, using theme of Deepin distro.

About GoodManWEN.github.io A website simulating linux system's GUI, using theme of Deepin distro. You can write blogs with markdown and use it to serv

null 1.1k Jul 22, 2021
Native desktop applications using Vue.js.

Vuido Create native desktop applications for Windows, OS X and Linux using Vue.js. Introduction Vuido is a framework for creating native desktop appli

Michał Męciński 6.1k Jul 26, 2021
A P300 online spelling mechanism for Emotiv headsets. It's completely written in Node.js, and the GUI is based on Electron and Vue.

brain bits This project implements a P300 online spelling mechanism for Emotiv headsets. It's completely written in Node.js, and the GUI is based on E

Armagan Amcalar 145 May 15, 2021
Crossword puzzle builder VueJS application.

Vue Crossword A Vue.js based crossword puzzle builder and filler front-end application. Demo DEMO Russian Words Database Features and ToDo Supports 2-

Denis Efremov 48 Jul 1, 2021
A framework written in Vue.js for creating command-line like interfaces in web browsers.

promptie A framework for creating command-line like interfaces in web browsers Promptie gives you useful and convenient API's to simulate a CLI like i

Ali Bardakci 80 Mar 8, 2021
Create and manage invoices in your browser. Serverless Invoices is a free invoicing tool for freelancers and small businesses. Made with Vue.js.

Serverless Invoices by Moku Serverless Invoices is a free invoicing tool for freelancers and small businesses. It is open-source and easily extendable

null 211 Jul 22, 2021
Sweet, simple epub reader

Eplee Sweet, Simple and Beautiful ePub reader Eplee is an ePub reader focused on clean distraction-free reading experience with simple and beautiful U

Meru Patel 243 Jul 28, 2021
A Free and Opensource Laravel eCommerce framework built for all to build and scale your business.

A Free and Opensource Laravel eCommerce framework built for all to build and scale your business.

Bagisto 3.7k Jul 24, 2021