Laravel - IMAP - Webklex Not sure the best way to update the new e-mails - laravel

I need a little bit of guidance please. I might be doing the project wrong, so I would be grateful for any ideas or recommendations. We are designing a CRM system, and we are implementing e-mail to it. I need to be able to send, receive and maintain the current e-mail records in our database.
It is a Laravel application, so we are using the Webklex/Laravel-imap library. We are also using Laravel v8.75.
We can easily fetch and download the entire library. What we are having difficult with, is we don’t know how to update it with the new e-mails. It seems the way we are doing the updates involves downloading all the data all over again.
Can anyone offer me any guidance as to how I should be looking at just downloading and sending the updates only, once it is in the database and has been already downloaded.
I can also share any code if you think it would help. I just need to know what you would like me to share.
Thank you so much for your assistance.

Related

Can I use DRF to recreate the ORO CRM API to get custom functionalities for my project

This might seem stupid but I've had this question for a long while. I've been using ORO CRM DB and its API for a while now. Its really one of the good open source CRMs. I just wanted to know if I can use their database and create a Django REST framework around it and create the same functionality of what ORO API is offering.
I would rather build the API with DRF than learn PHP to get the functionality that I need. So is this question. Kindly help me in figuring this out. Thanks in advance.
TL;DR
Yes for read, but using application database is a bad practice.
Explanation.
In Oro codebase there is a lot of triggers (listeners, queue message emitters) that could be fired during the CRUD operations, you can't use another code base to just mimic it.
Actually you can try to use DRF for read operation, that is rarely trigger any events, but doing this (use external db that is tend to change) is a bad practice.
You can try to explain your use case to get more context of what you are trying to achieve.

CS-Cart: integrating Fishbowl

I am developing a cs-cart based website and my client wants to integrate Fishbowl into his website.
I have searched an add-on for it, but there is no one for me.
I have experience developed a simple add-on and, now I am going to build one add-on to integrate fishbowl.
Please guide me if you have solid experience on integrating fishbowl and cs-cart or another warehouse solution for cs-cart.
I don't understand why the fishbowl doesn't provide or developed the add-on for it.
Please help!
Thanks for reading!
Well, there are a few things to watch out for, and therefore a number of options.
Firstly, what does your client really want. Does he want the stock to be updated on the fly, or once a night? If the client wants to stock to be updated on the fly you will need to add some sort of post function for updating products to also execute your code. If your client wants it only once a night you could just get away by sending every product in the database (with your selected columns).
Secondly, try using object oriented code. If you are really into PHP you will know what I mean by this. Otherwise dont bother (or try learing PHP Object Oriented), though I must note that this can make your addon significantly faster.
Thirdly, use the provided dbquery function
If you have any more questions regarding this, feel free to ask.

Create a Plugin-Based System Like Wordpress With Laravel / PHP

This question has been bugging me for quite some time now, I want to create a cms, a School Mnagement System to be more specific, and what matters to me the most, is making this system plugin based, in a way that administrators can download and install plugins right through their admin panel, just like wordpress.
Now I've read about wordpress Hooks, Actions and Filters, and in all honesty i can say i'm just a little familiar with their functionality, but to apply same functionality to a Laravel App... , It's a bit hard to figure out, at least for me.
I've also searched about this question and found out that almost everyone is suggesting packages, But while packages can work great for other developers wanting to get use of the package's functionality, they can't be easily installed by a user not familiar with any programming language, And that's exactly what i want in my application.
Now what i have in my mind so far, as in Wordpress Actions and Filters, almost everything one would want to use in Wordpress theme files ( to make that piece of code flexible for adding plugin functionality ) should be called as functions, and calling that function by Wordpress do_action() is kind of a must-take path, which of course makes sense.
This way plugin developers can just call add_action() / add_filter() in their files and put their plugins into the flow of the application.
So...
Basically what I'm asking here is:
How to apply such functionality to a laravel app?
Is there an easier way than calling everything by a function like do_action()?
Should i write some kind of a file management module for downloading and updating plugins?
Again I must say that I am not very familiar with wordpress ways to achieve this kind of functionality, So I may be wrong about some of the description I mentioned above, But please, I appreciate any clarification around this subject if you can.
Thanks in advance for any insight.
*P.S. I've tried to be as clear as I possibly can about the problem, And I'm not looking for any specific method for the system I`m developing.
What i want is to know Common / Best methods ( If there is a best method ) for achieving such functionality, preferably in Laravel, but a general algorithm would still be very appreciated.
I know lots of people have the same question and are tackling with the same issue, so if you even only provide a link to a useful article it would be great.*
I have been working as a Wordpress Developer for a very long time and I also have sufficient experience in Laravel... and to be honest, making this kind of functionality is not that difficult at all.
How?
First of all, you must understand that the web app that you will be making will have all the functionalities, but they can only be enabled/disabled from the front-end (Admin Panel/Dashboard). In other words, your School Management System app is actually having all the features/functionalities pre-installed, but you are just allowing the users to enable/disable it. This is much simpler.
So, if for eg. you want to provide someone attendance management functionality, you will have to give the admin of the site, the access to enable/disable it.
Why?
Wordpress has a built-in UI for adding/updating plugins. But in Laravel, everything is code based and therefore this I believe is the simplest way to go (especially for making things in your app pluggable).
Steps
Make a site with UI etc...
Create a config and migration file which will have the names of all the plugins you are going to allow the user to enable/disable.
Make a sync command that will sync all the plugins in your app.
Use it render a page from the front-end and manage their status from the back-end (is_active etc etc...)
Now once, these plugins are active, make sure the user (say moderator, editor) has access to manage them, for which you will obviously have to create roles/permissions and use Laravel Policies for such stuff.
Lastly, only the admin will have the enabling/disabling writes and no one else.
For the other part where you want the people to perform their own functions with filters/actions. I'd say this is completely contradictory to the part where you say Installing Laravel Packages isn't easy. Well, if you would really want a developer a way into this, why not straight away ask them to make a package for your app alone? Hmmmm.... Think about it :)
But, even then, if you would like to create such a functionality, create a simple class which the user can call and user its functions to call their own functions... Something like -> SMSPlugin::do_action(). But then again, making things like updating/deleting the plugin will require you to build your own Plugin Store and ask users to upload to it. Then you'll have to make an API to constantly check for updates for all the installed plugins and blah blah.... It's a really long procedure... And I don't believe that feasible too!
Hope I answered everything. Let me know in the comments if you have any doubts :)
I know it was 2 years ago, but for now you can achieve this with laravel with some packages:
So i think the steps will be:
Create new Laravel App and add some packages for BASIC admin UI and things you will need like:
Authentication (https://laravel.com/docs/5.7/authentication)
Roles and Permissions (https://github.com/spatie/laravel-permission)
Users managment
Modules (https://nwidart.com/laravel-modules/v4/introduction)
At this point you must configure and write a UI for manage every thing from every package mentioned.
So i think this is the way or at least some try to do it in 2019 :D
Happy new year to all!
There's a package for this, it supports version 5, didn't test yet with 6:
https://github.com/oneso/laravel-plugins

Application to display information from database

I understand that this is a very broad question and could get flagged but I need inputs from experienced programmers and will ask it anyway. If there is another forum where I can post this question, please let me know.
Currently we manage all our application information in an Excel spreadsheet. At a high level it contains an app id, the server names that it is hosted on and the name of the environment. The Excel spreadsheet has become too large and I am looking to build a simple application for it.
Ideally, I would like to write this app on Windows as everyone uses Windows but dont know how to go about it in Windows. I then thought of using MySQL and PHP or Perl (CGI) to build this but thought of exploring something new. I read about Joomla and a few other CMS products which make it very easy to build websites but am not sure whether these allows me to pull information from a database.
I am seeking inputs on what would be a good way to way to build this application.
Use Joomla! CMS is a good choice and to pull data from database you may use webservice calls. So, you will able to create a CMS website using joomla and will able to pull data easily from database with the help of webservice.
You can get webservice support in joomla by installing component redCORE in joomla.
Component: https://github.com/redCOMPONENT-COM/redCORE
Wiki: http://redcomponent-com.github.io/redCORE/?chapters/webservices/overview.md
Other videos: https://www.youtube.com/watch?v=UzJkC7f9fJE
https://www.youtube.com/watch?v=1NRT5jh3Ewc
Joomla dev group discussion https://groups.google.com/d/msg/joomla-dev-cms/3OctbkIZlQw/5d_1MLrzbgYJ
You can also post questions in Joomla forum http://forum.joomla.org/
I think Joomla is a great option to handle big loads of information. If you already know PHP and don't need to reinvent the wheel, it's cool. The way of handling data in Joomla is using Components.
If you want to try, it would be as easy as installing a local copy of Joomla, building the field structure on component-creator.com installing it and importing the data inside the component using phpmyadmin.

building torrent provider website

Recently i have been given a project that is torrent provider just like torrentz.eu, thepiratebay etc, where anyone can search what they want to download and then get the download like with the help of torrent.
I don't know the concept behind this, what is the basic requirement and what is the process to make it done. i have searched over Google but didn't find any relevant answer related to my problem.
I just want to know the process and what i really need to do to make it done. technology i will use that is spring framework.
Thanks
This is not really an Spring specific question but I'll try to help you.
You just need to save the torrent file (a text file with information needed by torrent clients) in a database along with information about the torrent like a representative name, a date and not much more. You could do this using Spring Data JPA for example. This way you won't need SQL knoledges.
If you want a site like torrentz.eu, you will also need to fetch data about the torrent like peers. You can store this also in the database but you will have to update it periodically. To do this, there are APIs like Bitsnoop that return this kind of information.
Having this, you'll need only some controller mappings to show your home and to let users search torrents given a name (the one that your saved before).
Well, first you need to know that Torrentz and ThePirateBay are 2 different things.
Torrentz is a search engine (like google) that searches for torrent files.
ThePirateBay - in past .torrent files hoster, now a simple Magnet linker.
All you need is a website with a huge .torrent files database.
Also a good hosting in a not online controlled country, so you don't get in trouble just like the most popular torrent website (thepiratebay.se / torrentz.com / kickasstorrents.com ...)
Of course they are still online, but that's just because they have a big fan base that keeps creating mirrors and proxies (https://viralifyblog.wordpress.com/2017/06/19/thepiratebay-proxy-list/)
Finally. I don't recommend creating a torrents website.

Resources