How to develop a CRM system [closed] - php

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I need to develop a CRM system within 2 months recently. But I'm still a student and have no experience in developing such a complex system. I did alot of researches on how to develop a CRM system, but I face some problems on designing the system.
The problems that I faced are:
Does a CRM system use any framework for development? (eg: DooPHP, Yii, Zend, and so on)
How to ensure the system is secure? (use OpenSSL?)
What are the non-functionality that I need to bear in mind?
For your guys information, the CRM that I gonna develop is for a small company use. However, I hope that the system is fast in response and secure, as this is what we want when using a web application. It is ok for me to use PHP, JSP or ASP.Net.
If anyone developed the similar system before, kindly share your experience with us. If possible, share your code here.
Thanks...

A CRM system can be quite complex. In fact, I worked on a custom CRM system and the codebase is literally by far greater than 100000 lines of code. Two months can be challenging depending on what functionality you'll need.
Using a framework is up to you. I once tested XAF from DevExpress which aim to help at classic CRM/LOB tasks unless some details get not too complex. OpenSSL is only an implementation, but if the data should be safe, then one key point would be using SSL along with good authentication and authorization. Number three: that depends. A good logging framework is always worse the work.
Have you considered using an open CRM system to start over with? There is jfire or vTiger for example.

I think the best way to understand one system is to review some open source projects:
http://www.sugarcrm.com/crm/
http://www.opencrx.org/
And much more :
http://www.focus.com/briefs/top-10-open-source-crm-solutions/

Your CRM should be easy to implement but don't take anything for granted. You will have a chance to learn a lot of things in terms of language features and technology when developing such software. If you are looking forward to it, not a problem, you can easily do it.
As far as your questions.
CRM Does not have to use any framework. If you are familiar with one, good for you. You can use it to your advantage and it will be helpful.
Stick with common security features that are used in any language, particularly the language that you use. Do not be obsessed with it. You will learn a few things as you go.
No sure about the non-functionality. But be careful to stick to the features only. Do not overdo things that will increase complexity and the time it will require to complete. Implement what is asked for.
Any language will do. I personally like PHP. ASP.NET can be quite challenging. There are a lot of things that you think will work and they are quite pain to implement (if you are not a guru already). So depending on your experience and if you worked with any software development before, it is not daunting but to be honest, you must have some somewhere development experience. There is nothing strange in it.
Make sure you are well familiar with basic data types such as float, double etc. You can introduce big errors if you use them wrong.

Related

PHP beginner - scalability and where to go on frameworks? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
For the past months I've been getting into Web Development, I tried both sides of the coin: ASP.NET and PHP, I quickly fell in love with the second, the documentation and the community was just very helpful.
I started out by reading PHP for Absolute Beginners, this gave me a decent grasp over the language.
Enter frameworks! After going around the web, it became clear that there was one framework that really suited beginners: Codeigniter. I absolutely love CI, through out my programming experience in college I've always relied on good books. CI didn't need a book. The documentation is so well written anyone with a little bit of PHP experience can get into it.
Learning CI led me to development websites (such as Stackoverflow) and I started reading things that kinda make me sad, "CI doesn't scale on big projects", "CI isn't even a framework", "CI is for newbies, get pro like me bro".
Ok, so maybe CI shouldn't be used for huge projects - at least that's what I got from the overall community. But I'm wondering here, where should I go from now? I feel like I should get some experience in at least a few MVC frameworks, but it's kinda confusing on where to go at this point, today Zend is best, tomorrow Symfony is, but damm, that Yii s looking good too! All of these frameworks are getting updated to 2.0 and the documentation is scarce, there's not many books going around (if any), the respective websites have a lot of information, but for someone coming from CI, it all just feels very intimidating to start out. Starting projects with Windows CMD? PHP accelerators?
I'm guess what I'm trying to ask here is, how do you professionals see the PHP framework world these days? Which Framework would you recommend? Should I hop into this 2.0 bubble or are these versions not stable yet? And if possible, could you point me in a general direction when it comes to documentation?
Thank you for your time.
A framework is merely a tool to achieve a purpose. For you, to get a grip on the language try continuing with CI. The things you will learn - the concepts - will translate to other frameworks, even if their implementation is slightly differnt.
I personally favour Yii, but I have dug up symfony, zend and CI as well as few others in the past. One is not better than the other for most apps; look into differnt things, see what you like and roll with it.
What framework isn't really the question. What you should be doing, IMO is, try to 'learn to learn' rather than just 'learn'.
What I mean is, you should try to learn php well rather than a specific framework X.
That way, when time comes, and you have to build a scalable[scalable isn't even on my browser's dictionary yet!] system, you can figure your way through, with the experience you would have accumulated. This is what I believe Steve Jobs refers to as connecting the dots in a famous speech.
I've used many frameworks in the past. I used CI to start and then moved over to Yii as I gained experience. Frameworks may provide the project with tools that you don't have to write yourself, saving time. However there may be performance issues. CI is great and I haven't had too much trouble with it. You can slim it down and remove functions that you are not using. With CI I have created full Web APIs with them with no problems.
I guess what I am trying to say is that it may be your preference or client preference on which framework to use.
Firstly, there web development isn’t a coin, and there’s more than two sides. There’s a plethora of web development languages: PHP, .NET, Python, Ruby and so on.
Secondly, I don’t think you should be looking at frameworks if you’re new to web development/PHP. Learn the language first. Frameworks instil framework-specific conventions only; so when it comes to working with another framework or even vanilla PHP, you’re going to be at a loss. A knowledge of PHP assists in choosing the right framework for the job. Investing in one framework this early will only make you reliant and dependant on that framework.
I speak of this from experience. I once worked for an agency that was hiring PHP developers. During the interview process, we got applicants that claimed to be PHP developers will knowledge in frameworks such as CodeIgniter. When given a simple programming task (take an all-uppercase phrase and make it title case) the majority failed. Why? Because they had built everything in frameworks and not learned PHP itself. So when they were put in a situation where their framework of choice wasn’t available, they stumbled.
Don’t make this mistake. Frameworks are good, but only when you know what you’re doing and definitely not as a language learning tool.

Why is there no very famous open source CMS or e-commerce application written in Ruby? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
The very famous open source CMS and e-commerce applications, i.e. Wordpress, Joomla, Drupal, Prestashop, are all written in PHP.
But Ruby seems to be awesome (I don't know it that much).
Why is there no such project written in Ruby?
Or would there be one I do not know?
I would say that at least one good reason is that Ruby is not used that much.
As a consequence :
Not many people use Ruby
So not many entreprises will use Ruby for their commercial projects
So not many people will learn Ruby (either at work or at school)
So not many applications are developped in Ruby
So not many web-servers (I'm especially thinking about shared hosting) have Ruby installed
So not many developper will use Ruby -- they want their open-source applications to run everywhere,
and so on ;-)
Just heard of : http://www.locomotivecms.com/
I've not tested it yet but it looks interesting.
I'm actually a php developer, working lot with Joomla, but I'll soon begin learning Ruby (some features just look awesome!, Like redefining operators,...) and Ruby On Rails for personal interest.
CMS-es allow building sites, Frameworks allow building applications.
You don't build a game in Drupal. You won't even think about a large community in Joomla! No-one will even consider building a large communication-platform (chat) with Wordpress.
PHP comes from a differnet ERA. The web-era where we all build off-the-shelve sites. Where user-interaction just started becoming interesting. And where it was hard to get an affordable LAMP stack set up for your latest-greatest idea. I am talking before Y2000.
Now-a-days one can hardly build a website without Twitter connections, Facebook logins and complex backend communication with several services.
Back in the days, these kind of projects were almost always Java. They still are, to a degree. Governments, corporate portals, media: they all have complex, integrated web-environments. PHP will hardly be used for this.
While in theory something like that is possible with a CMS like Drupal, it is certainly not a cost-efficient project. A CMS was simply never meant for that.
A framework like Ruby on Rails allows you to build what your client wants, exactly: nothing more, nothing less. Which means that the end-result is not generic, but extremely opinionated. and as such, not releasable as a tool for the masses.
PHP is cheaper and easier to host on a shared-server - installing mod_php into Apache is easy, and it uses less RAM than Ruby. So more providers provide PHP-hosting, and more less-technical people use PHP software.
Ruby does have some good CMSes - e.g. Radiant or Refinery - and ecommerce solutions e.g. Spree.
CMSs are, at least originally were, end-user products. End user doesn't really care how awesome the language that the software was built on is. On the other hand, PHP has much bigger penetration with hosting sites and deployment of PHP applications mostly comes down to "unzip this to your host, go through the wizard and you're good to go". Ruby got standard way of deployment just recently. Knowing all that, developers were (and arguably still are) choosing PHP over other languages when starting to build mass-marketed products as CMSs are.

How does ASP.NET compare to PHP? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
It seems to me that everyone on the Internet is talking about PHP/ROR/Python, but few care to mention ASP.NET. Ironically, here in China, most books concerning web development on the shelf in the bookstores are about ASP.NET. I just want to know what is "wrong" with ASP.NET on these web forums. I am really new to web development, and I've just learned a little PHP, and haven't touched anything ASP.NET yet. I would like to know the pros and cons of PHP and ASP.NET. Thank you very much!
There is nothing wrong with ASP.NET. Except the fact it's a Microsoft technology, so some communities avoid to mention it, or mention it only to say it's evil, without giving a real explanation.
Everything depends on the communities. Here, on StackOverflow, I see more questions about ASP.NET than about PHP. There are other websites which are more ASP.NET oriented.
If you want to choose what to use, try both. This is the only way for you to make a real choice, without being influenced by an opinion of a person who thinks that PHP sucks and is used only by beginners who don't know anything about programming, or a person who thinks that everything related to Microsoft is bad.
I'm assuming that you are referring to the ASP.NET, since ASP is obsolete and deprecated in some sense.
It's really difficult to compare PHP/Python/Ruby to ASP.NET. It would make more sense to compare frameworks. PHP has some popular frameworks called Zend and CakePHP. Python has Django. Ruby got, of course, Ruby on Rails. ASP.NET has MVC.
There is nothing wrong with ASP.NET. In fact, ASP.NET MVC2 is very neat. If you use it with Visual Studio, you basically don't need anything else, since you can debug your application with the visual studio webserver that comes with the IDE. MSDN has a lot of documentation on the MVC framework and a lot of people on stackoverflow are experts.
One downside is that you will need to host your site on Microsoft Server, which is typically more costly than Linux. If you are used to Linux, you will also need to consider some ramp up time and learning cost, because Windows Server is quite different. You might also want to use SQL Server 2008 because Microsoft technologies usually go well together.
There are a lot of things you need to consider when you want to create website with something you are not familiar with. I recommend you to just get started somewhere. If you are learning in order to acquire skills that may help you get some job offers, learn the skills you need. If ASP.NET is something used a lot in China, I would recommend you to pick up ASP.NET MVC and start developing, although this will cost you some money up front. Otherwise, go with PHP/Python/Ruby because there are tons of sites that use these languages and frameworks based on these languages.
For ASP.NET MVC2, this is a good starting point.
By the way, stackoverflow is built on ASP.NET MVC + SQL Server 2008 + C#
You got an IDE full of features and access to whole .NET infrastructure if using asp.net comparing to php.

What's a good web framework and/or tool for a software developer? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 13 years ago.
I'd like to make a website, it's not a huge project, but I'm a bit out of the web design loop. The last time I made a website was probably around 2002. I figure the web frameworks and tools have come a ways since then. It's mostly the design aspect that I'd like it to make easier. I can do the backend language in any language.
My question is:
What are some tools or web frameworks that make the design aspect of making a website easier. It could be a framework in php/python/ruby.
As far as tools go, free/open source is preferred, but I wouldn't mind looking at good commercial alternatives.
You'll get many different subjective answers for your question, but as for me I would recommend django. It is flexible unlike CMS and the admin saves you alot of pain.
For PHP, I like the CMS Drupal and have found it to be very fast in getting a site up and running. Drupal also has a ton of modules to do almost anything you want. It is also very customizable (although that takes a little reading to figure out how to do it).
Ruby's de facto standard web framework is Ruby on Rails. It's a straight web framework, not a CMS like Drupal, but it doesn't take very much work to get a simple site up and running. It uses convention over configuration to be that simple, so you've got to learn the conventions to really understand what's going on.
I haven't used a Python web framework (except the one I wrote back in college), but I've heard good things about Django.
If you have experience with Java, there's a Groovy framework called Grails that is similar to Ruby on Rails, but runs on Java servers.
I once played around with CodeIgniter for a couple of weeks and found it pretty easy and fast to jump into.
Check out this list of PHP frameworks:
http://woork.blogspot.com/2008/11/20-great-php-framework-for-developers.html
Joomla is also said to be amazing, although that's more of a Content Management System than just a framework. But it makes the design of the site really simple.
It really depends on a couple things:
What are you familiar with? You indicated that you've done some web development in the past. What did you use? If you were using classic ASP, then learning ASP.NET should be less of a jump for you.
What are you trying to create? If all you need are static HTML files with a tiny bit of functionality, you could try learning PHP as it's pretty quick and easy to get going. If you need light database access, then maybe Ruby on Rails will be your cup of tea.
With that being said, I'd recommend the following in no particular order (just because I've tried them and they're all pretty decent):
Ruby on Rails
ASP.NET / ASP.NET MVC
PHP
django on Google App Engine gets you free(up to a point) and scalable hosting

Am I making the right choice in choosing Yii as my PHP Framework? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am about to begin development of a new website and have been doing research on PHP Frameworks. I'm not an advanced PHP developer, but I have been developing web sites and apps (in asp.net) for a few years now.
My website will primarily be AJAX-based (using jQuery) and making lots of calls to web services. After some research, here's what I came up with:
CakePHP: Originally started developing in this, but found it too complex. The fact that it forces you to use and learn all this new stuff just to use it was a bit daunting, so I put it aside for the time being.
Zend: The performance of the framework leaves me a bit skeptical, but I heard it has great support for creating web services. I also heard it was a bit complex.
CodeIgniter: No real reason for not using this one. Based on what I've read CodeIgniter and Yii are very similar, but Yii is a bit faster and doesn't have un-needed code for PHP4 (since I plan on developing exclusively in PHP5).
As far as Yii, the only things that scare me about it are that it is newer than the other frameworks so it has a smaller community. It also doesn't seem to have a ton of web service support (only SOAP, from my understanding) as opposed to Zend.
So my questions come down to:
Should these things worry me? (not as big of a community, poor web service support)
Is there anything else I should look into?
Is my choice of Yii over the other frameworks ok for a primarily AJAX-based web app?
Bara
You need to document the requirements of your project and the reasons behind why a framework is even required in the first place. Then look at the future of the site and associated functionality. Then choose the framework that provides the strongest functionality to satisfy those requirements. Don't get hung up on opinions. Read the documentation and identify the components you want to use, narrow your search from there and then experiment with them all.
Performing your due diligence will pay off not only for you, but for your client who is paying the bills.
To sum up:
Identify required components of site.
Research frameworks and identify matches for your requirements.
Experiment and learn which ones work best for this job.
Edit/Opinion Additions:
If this is merely a personal growth project, then I would look at using what's going to look the best on your resume. Zend has the biggest name and a solid product, so they win by default because it's the old "can't get fired for IBM argument." Some big players are using Symphony, but it's a big learning curve. Yii, Cake, Kohana all have pros and cons and are great in their own way.
I've used to be a developer of Symfony, CakePHP, Zend framework, Kohana and Code Igniter, but around 1 year ago I discovered Yii, My first (and second and third) impression was excellent:
Easy to learn
Easy to implement
Easy to use and extend
Very, very, very fast
Support of many languages
Support of many software, servers and accelerators
Support of MySQL, PostgreSQL, SQLite, and Oracle... Firebird support is beta.
Many other features that I don't remember right now.
Download it, use it and implement your project with it,... you'll be amazed.
Now I ask your questions:
Should these things worry me? The community is not as small as it seems, Currently, Yii has an active community. We are not a few.
Is there anything else I should look into? You should look your needs: Database you'll use, Web server, and others, as Randy said.
Is my choice of Yii over the other frameworks ok for a primarily AJAX-based web app? Yes, It is.
As a main developer of Yii, I'm maybe not totally fair (but want to!), however, for objectivity I should mention I tried both Zend and CodeIgniter before.
In the earlier releases of Yii, benchmark tests were very impressive, and because the leadership doesn't want to have this framework bloated, not all feature requests get implemented. This may sound a little disappointing, but if you're experienced enough in programming and design, you are already aware of its potential.
On the other hand, Yii still supports a really wide variety of practical and real-life solutions. This is somewhat subjective, but if you look at those often used classes, you will find out their power in real issues.
The documentation (especially the API) is serious-tuned and very specification-like, which you may find strange and cold in the first hours, but in the long run, it'll definitely ease your job (unlike those fashionable docbuddies, which would like to make friends in method signatures).
These all contribute to your development time. People are able to create serious applications within weeks!
In 1 1/2 year using Yii, I have about 15 sites online, all working flawlessly, fast, and Yii made very easy to create them. And most sites aren't trivial, they are large real world sites. I can provide links if requested.
So I can assure you that by choosing Yii you will certainly be able to do any kind of site you want, and it will be fast and safe.
Pretty much every modern web framework has excellent support for XHR/Ajax. It really just boils down to your personal preference based on your current knowledge of the language in which regards to framework you'll like the most.
I would also advise Kohana as it's pretty stable, mature, and has excellent support.
You won't really know until you play around with the framework, I suggest dipping your toes in a few of them.

Categories