Minimalistic visitor stats based on PHP? [closed] - php

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
Does anybody know a minimalistic, nice-looking visitor statistics suite based on PHP that displays visitor stats in a end-user friendly way.
I know Google Analytics, and the big names in PHP and Perl based traffic analysis; they are all too complicated and feature-rich for what I need. I am looking for something that is already totally simplified and that I don't have to strip down.
Required features:
Visitors today, this week, this month
Where visitors came from
A good referer overview
Visitors on this page
Good filtering of bots
Optional:
Can connect to built-in IP locator thingy, I forget the name... Anyway, I have good IP to country resolution based on one of the big providers' functions in the provider's $_SERVER variable
A nice API and/or source code documentation to extend / interact with would be a plus.
There is no access to the server logs on the server I want to use this so the suite would have to bring its own tracking facilities, be that a PHP include, an image or a script.
Open Source would be nice, but I would consider paid solutions as well, as long as they're scripts shipped with source. I want no dependencies from external services.
Thanks in advance!

I liked the look of Piwiki, however it may be a bit feature heavy for you. I is aimed at being a foss alternative to Google Analytics

In most cases, you'd roll your own. Take a look at PHP's $_REQUEST documentation and write this data into a SQL table. You can do this portion very easily in 20 lines or less, and if you're clever - probably 5 or so.
Now, displaying that data can be done in any method you so choose, since you've got all the data in an SQL table. Sort, filter, and organize using any method you please.

Perhaps one of the most well-known PHP-based analytics applications out there is Mint (http://haveamint.com/). It's not as feature rich as other analytics apps ... it may be too feature rich for what you are looking for.

Google Analytics is by far the most used of all statistic software and is the most reliable.
You get a global map of where in the world they're coming from, what specific pages they come from, duration on the site.

I just started using Clicky, which I am very happy with. Was using Google Analytics before, but this is a lot cleaner and clearer.
If you want to display stats to visitors you can either allow public access through the preferences, or you can use some of the widgets they provide. I would probably go with the latter.
Another cool thing is that you can actually watch real-time statistics. For example, they have a map where dots pop up when someone enters your site. Fun, fun, fun ;D

If you are beginner, you can try this easy and simple but in JS code to get all stats from http://www.eaglestats.com/
Or if you want a very simple one without stats in PHP, try this : http://www.phpsimple.net/tutorials/real_visitor_counter/

I have myself discarded Google Analytics, Piwik/Matomo and OWA - as they're all bloated overkills for my needs (but I self host many sites). I am preparing to write my own analytics, because Mint cannot be downloaded anymore.
If anyone knows of someone else who has started an interesting open source project focusing on minimalistic analytics, I'd sure like to know about it, as google search doesn't give many options.

Related

Does anyone know of any open source availability / scheduling systems? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm trying to make an availability / scheduling system... Basically, I want users to be able to log into this system, and show that they're available during a certain time block, then I want another user to be able to log in and see who's available and when, and to be able to book someones time (so they no longer show up as available). I want to use PHP and SQL. Does anyone know if there are any open source systems out there that do something similar? I feel like there would be and it would be silly to rebuild one from scratch.
Although I want to use PHP and SQL, I'll consider any other open source tools that don't use those technologies, but obviously php and sql are preferred.
Thanks
EDIT: I know this problem can be solved with google calendar... but I need to find another way other than google calendar.
I found this open source project. You can check this: http://supercali.inforest.com/
SuperCali is an event calendar script that supports nested categories of events and multiple moderators, making it a good choice for organizations managing a large number of activities. SuperCali is designed to make data entry as easy and error-free as possible as well as provide a flexible, modular framework for displaying event information. SuperCali works with PHP and MySQL and is free, "open source" software released under the GNU General Public License.
Ok, I'm going to go a little outside the box here and ask if you've considered Gmail's calendar app? It has apis but I think you can skip that and just have the user's share their calendars and they can see them all together in one view.
This has the benefits of taking care of the security for you the advanced scheduling for you.
I know it's not what you're asking for but if you're just wanting the scheduling without the security headaches and coding necessary to bring it up and online, maybe this will work.
mrbs? Any ical server?
Check out http://phpicalendar.net/ as a decent ICalendar client. This makes basically any ICalendar server viable.
More specific to scheduling, there is an open source project using php and mysql called phpMyCal at http://dev.neb.net/phpMyCal/
We do this with MRBS http://mrbs.sourceforge.net/ and it meets your specifications of php/mysql- while it sounds like a room booking system, it is for reserving anything. It is very flexible, uses many different authentication systems, and if I can install it (with help from the user forums), probably anyone can.

Where can I learn web programming from start to mastery? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I tried doing tutorials but it is unorganized and unstructured, where can I learn PHP from beginner to master? I'm looking for a site like www.w3chools.com, but somehow I feel it is incomplete, specially when it comes to more advanced functions.
I know some basics but I wouldn't be able to for example make a secure online webstore, and I seem to be stuck at this point, how / where should I proceed?
I started 7 years ago. In my personal experience, your road to programming will look something like this:
HTML -> CSS -> Javascript -> PHP/MySQL
[Insert other web script language
here] -> "Desktop Languages"
For HTML (and CSS), I started by using a graphical editor at (then freewebs.com) webs.com that allowed me to add code snippets. I used some random GeoCities site (may it rest in peace) to look up things. Now, use Google or Bing.
Then, I got Jeffrey Zeldman's book, Designing with Web Standards. I followed through the book, typing out the code in notepad. Try to understand what the code does.
Do yourself a favor, use Notepad++ or Programmer's Notepad. They support automatic tabbing for neater code. It will make you a better and more sane coder in the long run.
Another thing I used to do was look at people's code by right clicking in my browser and hitting "view source".
This only gets you the HTLM/CSS after the PHP has been run and the Javascript before it was run. Google Chrome is good for analyzing scripts because of the debugging capabilities. (Don't worry about that yet though.)
Javascript was an adventure back then. Now, we have jQuery. Start with that or a similar framework. This can be researched online. I have never bought a Javascript book. I do have an ancient one from Visual Quickstart that I used to learn what a method looks like. Beyond that, the particular book in question is
an outdated rag.
To learn PHP/MySQL you can get a book. The two languages are often put together so finding books that show you how to use them in tandem should be a snap. I used O'reilly books for PHP.
I don't like the online PHP reference so much, because when I'm testing I don't always have internet. I use a virtual server setup on my machine. Look into that when you are ready to start learning PHP and MySQL.
The last thing to remember is that web standards are always changing, but don't get too crazy about it. when I started, XHTML was all the rage and now everyone is talking about HTML5. I still use XHTML as do many others. It goes to show that things move at different paces for everyone.
Good luck, I hope I helped!
EDIT: Geoff Adams pretty much sums up my post - Play around the invest in books. And, it will take time. I'm till nowhere near perfect.
Getting to 'mastery' is going to take a lot of effort, time and work. You can't become an expert by simply reading tutorials - the best way is to learn by doing. Get to grips with the basics, then play around. Once you're more comfortable, invest in some books.
If you're looking to build a complex system then you might be better using an off-the-shelf alternative. Try Googling around for various e-commerce systems (Magento is in vogue at the moment) and Content Management Systems (CMSes) before you decide to reinvent the wheel.
Read this book
also keep going through those tutorials (XHTML, CSS, Javascript) and try out everything you learn as you learn it.
I love the apress books so perhaps Beginning PHP and MySQL: From Novice to Professional, Third Edition might be for you? Do you have a development background?
You may want to look at picking up a book at your local book store or look at grabbing one off Amazon.com. I haven't found really good PHP web resource to learn from. Usually I just do a quick google search on topics I'm trying to code.
Another option is to just dive in and start building applications. I've found that the best way to learn PHP is to learn as you go. Once you have a grasp on the basic syntax and how to move around the code, then you can pick up a book at look at OOP topics as well look into Frameworks such as Zend, CakePHP, etc.
Are you absolutely set on learning PHP? If you are, then buy a good book - there's several mentioned here that are actually ok - but please, learn the security aspects from the start. There's more than enough PHP developers in the world who are writing insecure code (I used to be one of them, so I'd know).
Practice is key though; I've been programming in PHP now for about 6 years, and I'd consider myself fairly competent (I passed my Zend PHP5 Certification a couple of months back), but I still find functions I've never seen before.
A tip - don't even think of looking at Zend Framework, Magento or anything like that until you're comfortable with the basics. If you do, you'll definitely struggle; they use some advanced concepts which even I find it hard to wrap my head around at times.
Alternatively, you could learn something else...
The book recommendations are great. "Mastery", though, comes only from practicing your craft. If you want to learn PHP, you need to build many sites, with PHP (and HTML, CSS, Javascript, MySQL, etc.).
To have confidence that you can build a secure online web store, well, you need to build one. Maybe you can find a company that will pay you to learn. Maybe you will find a colleague to mentor you through it. Or maybe you'll have to dig into books, multiple web sites, and some poorly written "integration guide" from a payment authorization provider. My first time through I was nervous. The second time it went a little quicker. And the third time I felt confident enough to estimate how long it would take.
I'm not trying to be difficult or flip. I just feel that "learn by doing" may be the only way to learn much of this stuff.

How to document an existing small web site (web application), inside and out? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We have a "web application" which has been developed over the past 7 months. The problem is, it was not really documented. The requirements consisted of a small bulleted list from the initial meeting 7 months ago (it's more of a "goals" statement than software requirements). It has collected a number of features which stemmed from small verbal or chat discussions.
The developer is leaving very soon. He wrote the entire thing himself and he knows all of the quirks and underlying rules to each page, but nobody else really knows much more than the user interface side of it; which of course is the easy part, as it's made to be intuitive to the user. But if someone needs to repair or add a feature to it, the entire thing is a black box. The code has some minimal comments, and of course the good thing about web applications is that the address bar points you in the right direction towards fixing a problem or upgrading a page.
But how should the developer go about documenting this web application? He is a bit lost as far as where to begin. As developers, how do you completely document your web applications for other developers, maintainers, and administrative-level users? What approach do you use, where do you start, what software do you use, do you have a template?
An idea of magnitude: it uses PHP, MySQL and jQuery. It has about 20-30 main (frontend) files, along with about 15 included files and a couple folders of some assets -- so overall it's a pretty small application. It interfaces with 7 MySQL tables, each one well-named, so I think the database end is pretty self-explanatory. There is a config.inc.php file with definitions of consts like the MySQL user details, some from/to emails, and URLs which PHP uses to insert into emails and pages (relative and absolute paths, basiecally). There is some AJAX via jQuery.
Please comment if there is any other information that would help you help me and I will be glad to edit it in.
The developer leaves on Friday. However he can dedicate most of his 24 remaining hours to this documentation task. So, yeah, things are bleak but 24 hours is quite a bit... right? :-\
I would start by listing the main features that the application currently implements (update the initial bullet points).
Then, for each bullet point, write down the main requirements associated with that bullet point.
For each requirement, write down:
Anything quirky about that particular requirement
Where in the code that requirement is implemented (which php, inc files, tables)
This will give you something of a traceability hierarchy
Feature => Requirement => Implementation
It will also provide a good framework to jostle memories and write down gotcha's.
Then, comment each php and inc page.
Start with a header that outlines the purpose and which requirement(s) from the previous list are satisfied (reverse traceability from code to requirement).
Go through each php/inc file and comment the major actions/decisions/loops indicating what they are trying to accomplish and any design considerations that are assumed (e.g. "input is assumed to have been validated in the previous step").
When commenting the source code, you may want to use a tool such as PHPDoc so that you can generate documentation out of the comments.
One approach could be to arrange a series of hand over meetings. In these the developer would have to explain the code for each section.
He could write some notes in preparation for these, but having the other developers take minutes as well might help them understand the code. Also these meetings would be an opportunity to ask questions about aspects that aren't clear.
Don't try to do the whole site in one go. Break it down into smaller chunks grouped somehow - by function or by area. This means that your other developers aren't bombarded with too much information in one go, the original developer can concentrate on one area at time and you have a chance to follow up after the meeting.
Even if nothing "sticks" straight away there will be some documentation and some familiarity with the site when you revisit it later.
Another approach could be for the developer to give a series of short presentations on the site and how it was built. This might prompt him to remember why he took the approaches he did. This is invaluable when looking at code. If you know what problem it was trying to solve it's a lot easier to understand.

User interface for an intranet system [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
The system that I am working on is an Intranet System only accessible within the company network to our staff. This is a primary system for storing data of all our customers. The system is entirely web based. There is a lot of data to be captured and held for each customer. At the moment opening up a customer record brings up all the information is input boxes, etc so that users can change them and click on the save button to update. There are about 40 to 50 pages organised with fields all over the page. There is a single top level navigation bar with a side navigation bar as well.
We have decided to work on the design and layout of the pages. The first step will be to create a Detail View and an Edit View. At the moment there is no Detail View, everything is shown within the same Edit fields.
Do you have any good ideas on improving usability on an intranet database system (web based)
It's a big question. The approach you mentioned is very much focused on the details when you might be better served figuring out the high-level design first. It sounds like you have a lot of data and might be overloading your users.
I would recommend that you do the following:
Ask your users. They live right down the hall, so this is easier for you. Ask them what kinds of things they go to the intranet for right now. (You can ask them to talk about hypothetical situations, but that's a different technique, and yields speculative data.) Ask if you can watch them use the intranet.
Aggregate their feedback and try to see patterns in it. Can you group data according to some logical classification? Is it better for you to provide a database-style search interface? What about both -- they're not mutually exclusive?
Look for examples. Look at websites that work for you: Stack Overflow? Amazon? Netflix? Whatever it is. What can you learn from how they organize and present information?
Mock up a simple prototype. And when I say 'simple' it could just be markers and sticky notes on a whiteboard. Use this low-fidelity prototype with a few users and see if they can figure it out. Don't "help", see what they make of it -- see if they can find what they're looking for.
Iterate. Do steps 1-4 over and over as you approach a design.
Good luck! This is a real challenge, but if you make a system that works well you will save your company a huge amount of wasted time; and time is money.
Well, this is really about "web user interface design" and the fact that you are on a company intranet really doesn't matter too much one way or another, except for the fact that you can assume users know certain things about your company already.
As for good interface design via a web interface, you may want to check out the other SO posts below:
Book Recommendations
User Interface Design
other search results

user friendly framework for personal website? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Hi,
Which are the user friendly frameworks for building personal sites? Specially if that comes with little programming knowledge. And integrated jquery will be great. python or php based framework will do better.
I tried wordpress and joomla! But those are far more complex for a simple personal site with personal blogging, live commenting, twitting, keeping personal projects and resume etc.
Please suggest me. Thanks in advance.
"a simple personal site with personal blogging, live commenting, twitting, keeping personal projects and resume etc."
In my opinion, a personal site means a single author. You don't have a lot of really "dynamic" content. How many times a day will you update a person site? Once? Twice?
A blog, comment, twitter things change relatively slowly -- once or twice a day.
Personal projects, resume, etc. change even more slowly.
None of this requires dynamic content creation. A database is often more trouble than help. Most of it is simply unstructured text. Consequently, consider using a toolset to build static HTML and simply FTP that to a server.
Consider using Sphinx to build static content. You can generate a mountain of content, maintain it, and upload it periodically. You don't need to know HTML because you write in RST. It's easy to generate hundreds of pages of content and adjust the look and feel.
Best of all, it's very, very lightweight. You can easily get by with zero code. Or, if you want to add directives or interpreted text roles, you can do a little coding.
"I tried wordpress and joomla! But those are far more complex for a simple personal site with personal blogging, live commenting, twitting, keeping personal projects and resume etc."
Nothing can be simpler to your needs than wordpress. You can use it to create not only posts to your blog but what they call "static pages", like a "contact" page, a "resume" and such. You edit this page like a "microsoft word" box in the admin panel. You don't even need to edit a php file, you dont need to create a layout, just download a free template (search google for this).
Wordpress can be installed in a variety of plataforms since it doesn't need a lot of requirements. It's PHP, its easier to find a cheap hosting (even a machine in your own home): see their requirements page for yourself.
The only thing you may need "out of the box" is the twitting thing, that you can achieve by downloading some plugins from their official website.
If you find that to achieve your goals using wordpress is too complicated, I don't think it's a good idea to use a "framework", unless you want to learn coding. You can achieve what you need in wordpress without coding a single line.
Oh, and it has jquery.
Take a look at Personal Web Site Starter Kit (http://www.asp.net/downloads/starter-kits/personal), very easy to install and maintain and it's got what you need.
for PHP ones, beside joomla that you've already mentioned, I can suggest :
Drupal (http://drupal.org/).
Or a much simpler one :
Dotclear (http://dotclear.org/)
You may be looking for a free CMS system?
I could suggest you several good .NET CMS which are either open sorce or commercial but have a limited free editions very well suited for perosnal sites
Kentico - really simple thing, that you can use without any programming knwoledge, easy to setup, but free edition is limited with 1 blog only. so only for personal use, nothing more, or you will need to buy a commercial edition...
Umbraco - open source, but will require knowledge of XSL templates if you want to build really good site. not easy to learn if you are not a developer
Sitefinity - commercial CMS from Telerik but they have a community edition. Worth looking at. I suppose the complexity of learning somewhere between Kentico and Umbraco. But simple web sites will not require development
In any case I recomend you a great resource CMSMatrix.org where you can compare more then 100 CMS on different platforms and languages.
p.s.
And if you just want a simple personal web site and don't want to care about hosting, databases etc. I suppose you could look at Google Sites
AnchorCMS gets a lot of good feedback, give it a try.
Have a look at Plone. Perhaps this meets your requirements.
Kentico,Umbraco and Sitefinity,DotNetNuke are meant for developers/designers/integrators. Use Wordpress or if you are looking for .NET version use Community server.

Categories