Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > ZenTracker
Reply
  #1  
Old 15th September 2011, 18:58
Optix's Avatar
Optix Optix is offline
Senior Member
 
Join Date: Sep 2011
France
Posts: 145
Lightbulb Introducting ZenTracker: the future of BT trackers
ZenTracker is the first next-gen BitTorrent tracker using Symfony PHP framework.

Click the image to open in full size. Click the image to open in full size.



Symfony is a powerful framework (like Zend) that provides tools and coding standards to produce codelines quickly and easy to maintain in the future. It's an important pro because it allows a better development of large applications like a tracker. Let me show you some aspects of 4 months of work !

1. Security and developer-friendly

ZenTracker works with an abstraction layer and an ORM. That's mean there is no SQL request in files (and no SQL injection) !
Everything works around objects and the application is completly independant of the database.
So you can use Oracle, MS SQL Server, or even SQLite ! It's very easy to fetch information and navigate into it.
Symfony is also handling forms and it brings CRSF protection natively.
3 lines are required to test and record information submitted from a form (calling, binding and recoding).

Example : i want to fetch the image of a category of a torrent posted by a member
PHP Code:
$img $member->getTorrent->getCat->getImage(); 
See how easily you can navigate in database without knowing the database structure. The ORM will generate SQL request for you in background automaticly.

You don't need to test and secure input variables, Symfony does it already for you ! You can direcly use them ! You'll save lines, have a clearer code and develop very quickly !

Exemple : i want to record a new torrent file
PHP Code:
$this->form = new TorrentForm(); // calling the form
$this->form->bind($r->getParameter("torrent")); // binding POST variables with database fields
$this->form->save(); // record the file (saves torrent in uploads dir and records fields in DB) 
With this exemple, Symfony generate the form alone. It handles file upload and validation (mime-type), etc.

2. Performances

With others trackers, PHP reads each time the config files ! With ZenTracker, PHP will read it only once and bring it in cache forever. The first call is very slow (ZT have to generate caches), but when the platform is under heavy traffic, it handles it like a charm !
The caching system is very flexible : you can cache the entiere page or just a part from a template. By default, the ratio number is calculated in real time in the announce, but in views, the ratio is coming from cache, for every member. So it's very powerful and easy to configure.
PS : don't forget to purge cache (with command ./symfony cc) each time you change a config file to make changes effective.

3. The best look & feel !

ZenTracker uses the best of CSS3, jQuery, Ajax and HTML to provide to final users the best browsing experience (with large screens, eg 16/10). Even on iPad and other tablets, it's a complete new experience that you've to try quickly. There's no words to describe the feeling of it. The application is build around a large shoutbox, the gravity center of the community and placed on the homepage. If your community is very large, you'll appreciate the benefit of notifications.

4. Mobile support

ZenTracker is the first world-wide to support mobile browsers and to share it in the source code ! Using CSS3 Media-Queries, there isn't any special files, everything is included and mobiles are sharing the same code with desktop computers. With a mobile detection, some JS will remove useless functions in order to preserve battery life.

Click the image to open in full size.

That's a few things about ZenTracker.

Browsing the code :
https://sourceforge.net/p/zentracker/code

Last edited by Optix; 28th January 2012 at 17:21.
Reply With Quote
The Following User Says Thank You to Optix For This Useful Post:
Fynnon (23rd September 2011)
  #2  
Old 15th September 2011, 19:18
DAKz's Avatar
DAKz DAKz is offline
Senior Member
 
Join Date: Jul 2009
P2P
Posts: 380
Wink Outstanding
This has all the makings of a great source. I am trying to make it work but between the language issue and the massive size of this, (51mb on the server) I haven't got it up and going yet.

A couple suggestions.....
An installer would make this way better!!
A text file with the setup instructions in english in the file

Quote:
PS : don't forget to purge cache (with command ./symfony cc) each time you change a config file to make changes effective.
A link or button in the staff pannel would make this instant for any one
and the most important suggestion.....

Keep developing this, its about time for some new concept came along.

Well done this is sweet!
Reply With Quote
  #3  
Old 15th September 2011, 23:35
Krypto Krypto is offline
Retired from BVList
 
Join Date: Jan 2008
P2P
Posts: 510
Thumbs up
Very impressive, well done
Will certainly be checking this out, can you post some screens of the torrent pages (details/browse) and any forum shots and userdetails pages?
Reply With Quote
  #4  
Old 16th September 2011, 00:01
Optix's Avatar
Optix Optix is offline
Senior Member
 
Join Date: Sep 2011
France
Posts: 145
Default
Sure. See attachments ;)

@DAKz: thanks a lot ! It's very motivating and you will see results in a couple of days :)

I've already delete around 4000 files in Symfony framework directory that i don't use. ;)
Attached Thumbnails
PrtScr capture_5.png   PrtScr capture_6.png   PrtScr capture_7.png   PrtScr capture_8.png  

PrtScr capture_9.png   PrtScr capture_10.png  
Reply With Quote
The Following User Says Thank You to Optix For This Useful Post:
Fynnon (2nd October 2011)
  #5  
Old 16th September 2011, 00:41
Krypto Krypto is offline
Retired from BVList
 
Join Date: Jan 2008
P2P
Posts: 510
Default
Thanks for the screenshots
Reply With Quote
  #6  
Old 9th October 2011, 22:18
Optix's Avatar
Optix Optix is offline
Senior Member
 
Join Date: Sep 2011
France
Posts: 145
Default New profiles layout
The profiles are going to be changed. Before, the uploads are displayed in a table. Now they are as iOS icons : just the cover of each upload.
It's great with large screen on which there is a lot of space lost in the previous version.

It will be available in a couple of days when it's working perfectly. Stay tuned :)
Attached Thumbnails
PrtScr capture.jpg  
Reply With Quote
  #7  
Old 26th January 2012, 04:49
vlajce's Avatar
vlajce vlajce is offline
Member
 
Join Date: Sep 2011
Serbia
Posts: 9
Default
Yes, i have a question.
How to mode a main menu to look like those on screenshot? On the left side, not on the top. And one more thing. How to add some forum categories.. i dont see that possibility.
Reply With Quote
  #8  
Old 28th January 2012, 17:19
Optix's Avatar
Optix Optix is offline
Senior Member
 
Join Date: Sep 2011
France
Posts: 145
Default
Thread updated with photo of the mobile support
Click the image to open in full size.



Quote:
Originally Posted by vlajce View Post
Yes, i have a question.
How to mode a main menu to look like those on screenshot? On the left side, not on the top. And one more thing. How to add some forum categories.. i dont see that possibility.
Look in older ZIP files and just copy/paste #gauche CSS & JS properties :)
Adding forum cats has been restored in rev41.
Reply With Quote
The Following User Says Thank You to Optix For This Useful Post:
romano1 (11th January 2013)
Reply

Tags
bt , future , introducting , trackers , trackers< or span>< or u>< or b> , zentracker

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 22:12. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.