• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

New idea for AAC - FreshAAC

slaw

Developer
Joined
Aug 27, 2007
Messages
3,282
Solutions
101
Reaction score
766
Location
Germany
GitHub
slawkens
Hello,

first I thought I will be developing a new version of MyAAC - v2.0, but as it will be a completely rewrite from scratch, I thought I could give it another name and also invite some people to help me with the project.

Why? The community needs some freshness.

That's how the name idea came to my mind - FreshAAC.

With completely new approach, but with same ideas behind, bringing the AACs to the new level.

We need to go forward as technology is progressing every year!

(Note) some of the notes below, might be inappropriate for beginners. I worked in a company as a PHP developer so I'm deep in those terms ;) Continue reading tho, as you may find it interesting to learn new words!

Basic info:
  • Fully Object Oriented
  • Model/View/Controller (MVC) approach
  • Using Composer for external libraries
  • Using .env file for confidential data like passwords
  • One-Click updater through Web-Interface like WordPress does
  • Plugins like in MyAAC, but more powerful (Using composer style .json files for metadata)
    • Completely separated from base, so they could be easily removed/deinstalled
  • Events system like in TFS (currently called Hooks in MyAAC)
  • With Admin Panel for managing newses, plugins, menus, configuring the site and some other things

Proposed components:
  • Twig as template engine
  • nikic/FastRoute for routing
  • PDO/MySQL for database
  • vlucas/phpdotenv for .env files parsing
  • bootstrap combined with (maybe, but not sure) Vue for front-end
  • POT-rewritten from scratch and updated to work with most distros
    • But based on same principles

Objectives:
  • Supporting minimum PHP 7.4, as its currently the only version supported officially
  • Fast as possible without too much external libraries
    • no overhead frameworks like Laravel or Symfony, we will develop own system on top of them, reusing some of these components, but just partially
  • Plugable and themable throught plugins
  • Using external tables for data storage, like faac_accounts, without mixing with existing tables from TFS
    • So we completely separate data stored in Server with this stored in AAC

I will also throw some terms, from which we can take ideas:
  • Laravel
  • Symfony
  • Zend/Laminas
  • Magento
  • WordPress
  • ZnoteAAC, GesiorAAC, DevAAC, MyAAC (of course ;))

Supported servers:
* As much as possible using MyAAC approach - checking existence for tables, columns and according to those info - handling data from different engines

As you can see many of my ideas are based on MyAAC - some of them are already there, but not all of them.

More Ideas you can find in the MyAAC wiki - TODO · slawkens/myaac Wiki (https://github.com/slawkens/myaac/wiki/TODO)

I got even more, but its pretty late, so I will allow me to edit the thread, as the things progress.

So, have I aroused interest of any of you, dear OTLand members?

Any experienced PHP developers here would have interest joining the project?

I will allow me to call some PHP devs from here, hope you won't be upset on me ;). Maybe together we can build something that will be inspiring?

@Znote, @Gesior.pl, @Jacobs, @Don Daniello

Let's go!
 
OP
OP
slaw

slaw

Developer
Joined
Aug 27, 2007
Messages
3,282
Solutions
101
Reaction score
766
Location
Germany
GitHub
slawkens
but will it be noob-friendly?

The installation should be as simple as installing PhpMyAdmin or WordPress.
All files will be included (including vendor folder from composer).
So basically copy-paste files and add permissions.

Developing things for this platform, however, might be a difficult process and doable only by experienced users.
But, there should be a lot of plugins, so it will be easy to add basic features and configure them through Admin Interface.
 

zbizu

Legendary OT User
Joined
Nov 22, 2010
Messages
3,146
Solutions
20
Reaction score
2,299
Location
Poland
GitHub
Zbizu
The installation should be as simple as installing PhpMyAdmin or WordPress.
All files will be included (including vendor folder from composer).
So basically copy-paste files and add permissions.

Developing things for this platform, however, might be a difficult process and doable only by experienced users.
But, there should be a lot of plugins, so it will be easy to add basic features and configure them through Admin Interface.
If it ends up being too complex, the people will just stick with znote/gesior aac
 
OP
OP
slaw

slaw

Developer
Joined
Aug 27, 2007
Messages
3,282
Solutions
101
Reaction score
766
Location
Germany
GitHub
slawkens
If it ends up being too complex, the people will just stick with znote/gesior aac

Right. But then we will have less newbies calling for help, and we can concentrate on more important things ;)

Most of the owners I know that use MyAAC, are not newbies however, they use modified templates, and have many own systems added to the website. So I don't suppose it should be a problem.
 

oen432

Legendary OT User
Joined
Oct 3, 2014
Messages
1,427
Solutions
49
Reaction score
1,522
Location
Poland
GitHub
Oen44
If it ends up being too complex, the people will just stick with znote/gesior aac
Wait, so they can work with Znote/Gesior/MyAAC which are just a big pile of mess but they won't be able to work with clean code that comes from developing using something like Laravel framework? Huh... interesting.
 

Znote

<?php echo $title; ?>
Staff member
Global Moderator
Premium User
Joined
Feb 14, 2008
Messages
6,913
Solutions
248
Reaction score
1,833
Location
Norway
GitHub
Znote
New projects are always fun. :)

Having the backend more or less purely as a JSON API, like DevAAC would enable flexibility as to what renders the application.
If I where to start something new, I would play around heavily around the concept of API. I would build a JSON API that authenticates every request using OAuth

This allows frontend and backend to be interchangeable.
Backend can be build in PHP 8.x (laravel is big, bloaty and complex, perhaps Lumen is better, or another micro framework like BulletPHP), in the future maybe Python (its a valuable language to learn), or perhaps even @edubart new backend programming language Nelua! (How cool would it be to live in an OT future where EVERYTHING is written in Lua)?! :D

For frontend I would consider Vue.js and Astro

I don't think the community needs a new AAC, so I would make sure building the new AAC would be an educational and useful experience for the developer. That means playing with technology you still have yet to master.
 
Last edited:

zbizu

Legendary OT User
Joined
Nov 22, 2010
Messages
3,146
Solutions
20
Reaction score
2,299
Location
Poland
GitHub
Zbizu
new backend programming language
MIT license again, ugh

enjoy Nelua v8

How cool would it be to live in an OT future where EVERYTHING is written in Lua
performance-wise, not cool
but an engine like that would be my favourite
 
Last edited:

Znote

<?php echo $title; ?>
Staff member
Global Moderator
Premium User
Joined
Feb 14, 2008
Messages
6,913
Solutions
248
Reaction score
1,833
Location
Norway
GitHub
Znote
performance-wise, not cool
but an engine like that would be my favourite

Nelua compiles to C, so yes, very cool performance-wise. You can quickly prototype, and when needed Nelua has C-like low level features to allow micro-optimizing parts of the code when needed.

Nelua is being developed by a Lua lover who, after years of using Lua in game projects, wished for a Lua-flavored, efficient, simple language that was powerful at compile time and could replace C/C++ code in game projects.
 

zbizu

Legendary OT User
Joined
Nov 22, 2010
Messages
3,146
Solutions
20
Reaction score
2,299
Location
Poland
GitHub
Zbizu
Nelua, not Lua. You asked for Lua specifically.

I've seen the site and I know who edubart is. Pretty sad that he discontinued otclient for that, but I can understand.
 
Top