A PHP notebook application build with PHP Symfony as back-end API and VueJS/Vuetify front-end.

Overview

PHPersonal Notes πŸ““ - BETA RELEASE

PHPersonal notes is an application to store your personal notes!

screenshot

PHPersonalnotes is build with Symfony/VueJS/Vuetify.

Features

  • Create notebooks and store notes inside them
  • Symfony PHP Framework as back-end
  • VueJS/Vuetify Single Page Application as front-end
  • API endpoints that enable you to connect your own front-end

If you want to use this app, you need to host it by yourself. See requirements for the requirements your hosting will need.

Beta Release πŸ—

This is a beta release. Please view the ROADMAP for more information about the development.

⚠ Warning - Security notice ⚠

This application is as secure as it is. Using this application is on your own risk, and there is no warranty as described in the LICENSE.

Please be careful where you host your notes, because the notes are stored as plain-text in the database right now.
If you think you can add some security enhancements to this application, feel free to submit a contribution after reading the contribution guidelines.

Requirements 🧰

Installation πŸ’½

There is a docker environment included in this repository. Don't have Docker or Docker Compose? Please install docker-compose if you want to use this environment.

The included environment is tested on ubuntu linux for development.

But it should be possible to run PHPNotes on any environment that suits the requirements.

Install using the included docker environment

  • git clone [email protected]:robertvanlienden/phpersonalnotes.git
  • create .env cp .env.docker .env
  • docker-compose up (add the -d flag to run the containers detached)
  • Wait until all containers are up
  • generate JWT tokens docker-compose exec php bin/console lexik:jwt:generate-keypair
  • http://localhost:8080/
  • You're ready to use PHPersonal notes!

Development

There is a Makefile included that you can use with the docker setup to start developing easy. You can run make help to see all the make commands that are available.

Contributions πŸ‘―

Pull Requests are more than welcome! But for major changes, please first open an issue to discuss what you would like to change.

Please be aware that your contributions will be released under the BSD-3-Clause of this repository.

Security issues πŸ”’

If you found a security issue, please don't report it as an issue! Please directly contact with the maintainer.

Maintainers πŸ‘·

License πŸ“°

Released under BSD-3-Clause. View license for the complete license.

Donations πŸ’Έ

If you want to buy me a coffee to thank me for sharing this piece of software, it's possible to donate Paypal.me/robertvanlienden.

Comments
  • Vuex store for notebooks and notes

    Vuex store for notebooks and notes

    This MR closes https://github.com/robertvanlienden/phpersonalnotes/issues/3.

    Notebooks and notes are stored inside Vuex, to archive that data gets updated immediately after a succesful API request.

    enhancement v1.0.0 
    opened by robertvanlienden 1
  • Use Vuex store for notes/notebooks

    Use Vuex store for notes/notebooks

    Right now if you update/delete some note/notebook, the data in the views does not update instanlty

    This is because the front-end does not use Vuex store for notes/notebooks.

    AC:

    • [x] Notes/notebooks are stored in the vuex store
    • [x] Notes/notebooks get updated in the front-end instantly after update/deleting one
    • [x] https://github.com/robertvanlienden/phpersonalnotes/pull/5#issuecomment-997203068
    enhancement v1.0.0 VueJS 
    opened by robertvanlienden 0
  • WYSIWYG Editor for note content

    WYSIWYG Editor for note content

    It would be nice if it was possible to create/edit content in a note with a WYSIWYG editor.

    This way you can add content with some styling to a note.

    AC:

    • [ ] Note content WYSIWIG editor is integrated
    • [ ] Note content can get stored as HTML
    • [ ] Note content gets rendered as HTML

    TBD:

    • [ ] Which package to use for WYSIWIG editor
    enhancement v1.1.0 VueJS 
    opened by robertvanlienden 0
  • Multiple delete notes/notebooks in API and front-end

    Multiple delete notes/notebooks in API and front-end

    Right now, it's not possible to delete multiple notes or notebooks at once.

    It would be a nice feature to be enabled to quickly remove notes/notebooks.

    AC:

    • [ ] There are API endpoints available to delete multiple notes/notebooks in 1 request
    • [ ] You can select multiple notes/notebooks in the front-end and then delete them at once
    enhancement v1.1.0 VueJS API/Symfony 
    opened by robertvanlienden 0
  • User experience improvements

    User experience improvements

    The front-end of the beta release is build "on the fly" without any design.

    This results in some poor choices in deciding where placing menus/buttons etc.

    The following improvements are needed for a better user experience;

    AC:

    • [ ] Redirect to new note/notebook with notification after creating one, instead of only showing a notification above te form
    • [x] Floating action button with drawer in bottom right with create note/notebook
    • [x] Move register/login/logout links to "dot menu"
    • [x] Add nice messages if there are no notebook
    • [ ] Add note/notebook in modal
      • [ ] Move create request to vuex store as addNote/notebook actions/commits

    Nice to have for now:

    • [ ] Breadcrumbs
    • [ ] Pagination on notebooks/notes
    enhancement v1.0.0 VueJS 
    opened by robertvanlienden 0
  • API Documentation

    API Documentation

    Right now, API endpoints are not documented.

    For v1.0.0 release I want to add the some API documentation using https://symfony.com/bundles/NelmioApiDocBundle/current/index.html.

    AC:

    • [ ] There is an protected endpoint where API documentation can be found
    • [ ] All endpoints (CRUD notebook/note, auth) are documented
    documentation v1.0.0 API/Symfony 
    opened by robertvanlienden 0
Releases(v0.2.0-beta)
  • v0.2.0-beta(Dec 20, 2021)

    What's Changed

    • Notes and notebooks are now stored in Vuex
    • When you update/delete a notebook or note, the changes show up immediate after a successful update/delete request (thanks to the use of Vuex)
      • Creating a notebook/note will get moved to the store in feature release; https://github.com/robertvanlienden/phpersonalnotes/issues/2
    • Small improvements

    Full Changelog: https://github.com/robertvanlienden/phpersonalnotes/compare/v0.1.0-beta...v0.2.0-beta

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta(Dec 11, 2021)

    Th'e first public beta release of PHPersonal Notes :tada: !

    ** Features **

    • Create notebooks and store notes inside them
    • Symfony PHP Framework as back-end
    • VueJS/Vuetify Single Page Application as front-end
    • API endpoints that enable you connect your own front-end
    Source code(tar.gz)
    Source code(zip)
Owner
Robert van Lienden
Dutch web developer
Robert van Lienden
18Laravel ReactJS Package to simplify sending data from Laravel back-end to front-end built to Facebook ReactJS.

Laravel ReactJS This is a package that we wrote to use on our Laravel applications that use React from Facebook. Our goal is deal with the SEO problem

Cohros 28 Feb 10, 2022
A starter kit that integrates Laravel with Vue CLI, Inertia.js, TailwindCSS and Vuetify

Laravel Viltify Laravel Viltify is a heavily opinionated Laravel starter kit. It's intent is to seamlessly integrate V ue, I nertia.js, L aravel, T ai

Matheus Dal'Pizzol 50 Jan 4, 2023
Laravel framework with integrated NuxtJs support, preconfigured for eslint, jest and vuetify.

Laravel framework with integrated NuxtJs support, preconfigured for eslint, jest and vuetify.

MΒ² software development 53 Oct 24, 2022
Starterkits Project With Laravel + Inertia JS + Vue + Vuetify

Laravel InertiaJS Vuetify A laravel inertiajs vuetify starterkit Demo You can access demo app in : https://laravel-inertia-vuetify.herokuapp.com/ Feat

Ahmad Faiz Kamaludin 21 Dec 16, 2022
A Event Management system - EMS build with Laravel and Vuejs

Event Management system - EMS A Event Management system - EMS build with Laravel and Vuejs Both FE & BE project folders has own README.md files for in

hassan 5 Jul 21, 2022
Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and React as a frontend library.

Symfony React Blank Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and

Antoine Kingue 2 Nov 5, 2021
A lightweight full-stack component layer that doesn't dictate your front-end framework

Airwire A lightweight full-stack component layer that doesn't dictate your front-end framework Demo Introduction Airwire is a thin layer between your

ARCHTECH 199 Nov 23, 2022
A Laravel dashboard front-end scaffolding preset for Tailwind CSS - Support RTL out of the box.

?? Laravel tailwind css dashboard preset A Laravel dashboard front-end scaffolding preset for Tailwind CSS - Support RTL out of the box. Usage Fresh i

Miaababikir 343 Dec 7, 2022
project with laravel 9 and php 8 and vuejs 3(modular) in both multi page and single page application

About Project Since Laravel 9 was recently released, it supports PHP 8 and above. So I decided to implement a prototype project using Laravel 9 + PHP

ali ahmadi 10 Sep 7, 2022
A CRUD app made with Laravel and VueJS 3 (API Composition)

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Ludovic GuΓ©net 2 Apr 1, 2022
This package adds artisan commands to create VueJS components and InertiaJS components.

Laravel Vue Commands This package adds artisan commands to create VueJS components and InertiaJS components. Installation You can install the package

ArielMejiaDev 3 Sep 10, 2021
todolist app with vueJS frontend and laravel backend

todolist-vuejs-laravel A todolist app with vue.js frontend and laravel backend Demo demo Installation To run this locally, you'll need to clone the re

Isaac Kojo Yeboah 2 May 10, 2022
Starter AdminLTE3 with Laravel 5.7 and Vuejs 2+

Starter AdminLTE3 with Laravel 5.7 and Vuejs 2+

Hujjat Nazari 371 Jan 5, 2023
Production Ready, Carefully Crafted, Extensive Vuejs Laravel Free Admin Template 🀩

Materio - Vuetify VueJS Laravel Free Admin Template Production ready carefully crafted most comprehensive admin template Introduction If you’re a deve

ThemeSelection 115 Dec 13, 2022
A @laravel based RAD platform for back-office applications, admin/user panels, and dashboards.

For the full documentation, visit orchid.software. Introduction Orchid is a free Laravel package that abstracts standard business logic and allows cod

Laravel Orchid 3.4k Jan 1, 2023
Web Sekolah yang dibuat diatas CMS Popoji dengan base Laravel 6. Web Sekolah ini sudah diintegrasikan dengan template semesta-front.

Web Sekolah yang dibuat diatas CMS Popoji dengan base Laravel 6. Web Sekolah ini sudah diintegrasikan dengan template semesta-front.

Muhamad Ramdani Hidayatullah 1 Feb 6, 2022
This application was build with the purpose of learning PHP.

Chat-App ?? About this file The purpose of this file is to provide overview, setup instructions and background information of the project. ▢️ Demo Her

Luis Monzon 5 Dec 14, 2021
Api first backend boilerplate build with laravel 🎯 you can use as a template πŸ˜‰

Laravel Backend Template i use this as a starting point for my backend projects , it saves time with basic auth functionalities and has code examples

Hijen EL Khalifi 4 Nov 14, 2022
🧿 Build navigation or menu for Laravel and Awes.io. Unlimited complexity and depth, with permissions and sorting support.

Navigator Laravel package that can easily create navigation menus of any complexity. With support for routing, permissions, sorting, rendering depth,

Awes.io 47 Jul 18, 2022