# Brainstorming an idea



## NodeBytes (Dec 10, 2013)

So I have had this idea of creating a coding group. Basically we can come up with projects that would be mutually beneficial for a lot of us and put our minds together to create better projects with more features and cleaner code that has been audited by multiple people.

We would need people who are experienced coders to oversee/administrate the group and help out with those who are less experienced.

This could be really valuable for beginning coders because it would allow them to work with people who have more experience so they can improve and gain experience so they can write better code as well as get experience working on projects.

So far this is just being brainstormed and would need to be expanded upon.

Any thoughts?


----------



## devonblzx (Dec 10, 2013)

Could be great,  it would be nice to be a part of a community where people can bounce ideas off of each other easily.  However, many different coding languages and platforms, what specifically were you thinking of?


----------



## NodeBytes (Dec 10, 2013)

That would be part of deciding how to form this group.


----------



## vampireJ (Dec 10, 2013)

like creating softwares that can be used by providers? eg whmcs alternative, solusvm etc ?


----------



## NodeBytes (Dec 10, 2013)

It would be up to the group to vote on what kind of project they would like to create.


----------



## wlanboy (Dec 10, 2013)

Great idea.

You will easily define how the people work together (agile, svn/git), what licence type the group will use, a.s.o.

It might be possible to get release schedules too. People do often not realize that a release date does include a defined set of workload too - like 10 hours a week.

The group might find a good product owner too - defining the user stories but it will not be such easy to find a scrum master handling all the little problems.

Not including all the squabbling when some people realize that they don't have a "rank" and the other "rankers" realizing that beeing responsible means a lot of work.

Yup a coding Kanban group would be fun - count me in. We do allready have a place to put the code in (vpsboard git repository) and we do have a place for talking too (vpsboard/irc).

Now we just need a goal.

Like any other FOSS project you might only find people doing the awkward work if they are committed to a project (goal).

There will be a high fluctuation of members too, depending on what the group is currently doing.

So let's start and see how many people we get for the first idea.


----------



## NodeBytes (Dec 11, 2013)

I'd be up for hosting a Jira installation and then I'll tie in the vpsboard git repo for the project. That will allow for the kanban development/goals to be created. 

What languages would you want to work in? I would say Python, PHP/HTML, or Ruby would be the best to start in.

Thoughts?

Edit: I'd like to limit the project (at least the beta) down to 3-5 people.


----------



## texteditor (Dec 11, 2013)

NodeBytes said:


> kanban


May whatever Gods exist have mercy on your tortured analyst soul.


----------



## NodeBytes (Dec 11, 2013)

I work with a team of programmers... kanban CAN AND WILL save our souls.


----------



## HalfEatenPie (Dec 11, 2013)

NodeBytes said:


> I work with a team of programmers... kanban CAN AND WILL save our souls.


What software do you plan on using as a collaboration tool?

This is a bit off topic but I've been trying to find a good one as kind of a personal planner + JIT kinda system except not only for codes + Calendar.  I currently have an installation of JIRA going but I'm not the biggest fan at the moment.


----------



## NodeBytes (Dec 11, 2013)

We use Jira. It's awesome. Works beautifully and gets the job done quite well.


----------



## NodeBytes (Dec 11, 2013)

So what kind of projects would you all be interested in?


----------



## fisle (Dec 11, 2013)

I have been dreaming of creating good, simple to use email panel. You know the basics; add domains, create email addresses, slap on a webmail client and create a good API for it.

I am thinking of trying to make one in Python, Flask as a learning project for myself. Been rolling my head in Flask last two months, I like it way more than I ever liked PHP.


----------



## NodeWest-Dan (Dec 11, 2013)

I'd be interested in something like this.  I'm new to the community but have HTML and CSS experience.  I'm currently looking to get into programming so this would be helpful and sounds like a lot of fun.


----------



## 5n1p (Dec 11, 2013)

Well not sure about commitment, but sure count me in, I know a bit of python, HTML/CSS, would be great to work with people that know more.

P.S. If there is going to be admin positions open I would vote for @wlanboy . Why? Knows much and no ego at least that is how I see him.


----------



## peterw (Dec 11, 2013)

NodeBytes said:


> So what kind of projects would you all be interested in?


Simple and bullet proof DNS managment panel with the functionallity to support dnydns for subdomains.

No database, no apache, no php.



5n1p said:


> P.S. If there is going to be admin positions open I would vote for @wlanboy . Why? Knows much and no ego at least that is how I see him.


Vote for him too.


----------



## Novacha (Dec 11, 2013)

If this goes off, count me in. I would always be happy to help!


----------



## HenriqueSousa - WebUp 24/7 (Dec 11, 2013)

Hi, you can count with me. I know PHP+HTML+CSS+JavaScript and I am learning C. And I have some hours a day that i could spent on this


----------



## bpsRobert (Dec 11, 2013)

I would suggest creating a list of suggested projects, and then having the group members vote on one to begin with. There are numerous complaints in the industry regarding some current popular software pieces, such as WHMCS and SolusVM with their quirks, etc. It may be beneficial to include alternates to these, in the project list to be voted on. Personally, I believe coding a new billing system from the ground up, would be extremely time consuming, and fairly frustrating for newer coders. Where as, a SolusVM alternate, would probably be easier in the short run to get something functional going, especially even if restricted to just OpenVZ compatability in the beginning. Also it opens up a wider range of abilities to be called upon, as you will have a need for some web front end coding experience, and possible even on the backend a need for some shell scripting, as openvz has alot of shell commands built into it that can be worked with in scripts, such as vzmigrate and vzlist, vzctrl, etc. 

Just bouncing out some ideas..

But ultimately, I think this particular idea as a whole, is a pretty good idea. 

-Robert


----------



## NodePacket (Dec 11, 2013)

This almost sounds like Mozilla. All Volunteers but creating applications. I think this is a great idea. With my experience, I'd love to be apart of it.


----------



## NodeWest-Dan (Dec 11, 2013)

Although we'd want to keep it in the VPSboard family, why not put it under its own name/domain to keep everything straight?


----------



## NodeBytes (Dec 11, 2013)

It would be.


----------



## BuyCPanel-Kevin (Dec 11, 2013)

Doesn't sound like a bad idea, who would decide the rankings/jobs though? You have any projects already in mind?


----------



## NodeBytes (Dec 11, 2013)

That would be the harder part.

I personally think rank should be decided by a combination of dedication and skill. It would make sense to choose who is in charge by how much work/time they put in and how able they are to get work done.


----------



## telephone (Dec 11, 2013)

While I like the idea of a large project/team, it has a high probability of stalling or failing. Unless you have lead developers with a lot of interest and a set amount of spare time, you'll eventually run into issues.

In saying that, I think having mini-projects (small teams) where interested parties volunteer, would work well. This is how I picture the setup:

------------------------------------------------------------------

*Stage #1:*

- Have a recruitment system (vpsBoard sub-section). Users will post their ideas with requirements (language, number of developers, timeline)

- These "ideas" will then be up for discussion. Interested parties can talk logistics and gauge interest

- The top X (two or three at a time) will be given the green light

    - These projects receive full hosting/support by the sponsoring entity

*Stage #2:*

- Interested parties will sign-up to be on the developing team for said project (list # of hours available per week)

- A lead developer (or two) will be assigned

- Developer team will be selected

    - Include 1-2 novice developers to mentor (depending on team size)

** Majority of projects would only require 2-3 developers **

*Stage #3:*

- Collaboration software and Git repo will be setup for team members

- If requested, a continuous integration server OR a VPS with an isolated environment will be assigned for the project

*Stage #4:*

- Lead developer/s will be in charge of initial planning, including:

    - Framework (by majority vote)

    - Code assignment -> Split the project into X sections

    - Coding standards

    - Directory structure

    - Database structure

    - Class structure -> Interfaces/Abstracts

- Once initial planning/setup is complete, team members will be assigned (or choose) their section of code. E.g. Front-end UI, database interaction/management, API development, etc...

    - Novice developers will be teamed up with another member, where they can interact/learn

*Stage #5:*

- Public Git repo

- Interested parties can keep up to date with development, and interact with developers/submit pull requests

*Stage #6:*

- Committed code will be peer reviewed (lead developer/s should do this anyway)

- *UNIT TESTS!!!*

*Stage #7:*

- Release compiled/packaged code once completed

- Maybe vpsBoard, or fellow low end companies would sponsor the project (once complete)

------------------------------------------------------------------

With the above system, a wider array of projects will be released, and you're more likely to push code/have less stalled projects (as only interested parties would sign-up).

The other point to consider is the number of willing (and knowledgeable) developers. If there are only a handful of intermediate/senior developers willing to help, fewer projects will be undertaken.


----------



## wlanboy (Dec 11, 2013)

telephone said:


>


Some notes to your well written post.

*Stage #1:*

- Have a recruitment system (vpsBoard sub-section). Users will post their ideas with requirements (timeline)

It will be hard to figure out at that stage that you need 40 mandays to develop somethings. 

Or that 4 developers for 10 weeks doing 8 hours a week to build a tool.

I like the idea of a a recruitment center where stakeholders can find product owners.

The *product owner (lead developer) *is offering an *architecture *and a rough plan how things should be done.

You might even call that the product owner is offering a *solution*.

- These "ideas" will then be up for discussion. Interested parties can talk logistics and gauge interest

- The top X (two or three at a time) will be given the green light

    - These projects receive full hosting/support by the sponsoring entity

The "top x" will be "voted" by the people joining the product owner.

The only limit is the number of developers.

One developer is only allowed to join one project at a time.

And the *developers *are *offering services *(*unit*: 1 *manday (MD) *per month). 

The product owner then has to decide if he takes the offers or decline them.

*Stage #2:*

- Interested parties will sign-up to be on the developing team for said project (list # of hours available per week)

Yup at that time the "services" will sum up and this will be the base for the project plan (timeline).

- A lead developer (or two) will be assigned

That will be the product owner which offered a solution.

- Developer team will be selected

    - Include 1-2 novice developers to mentor (depending on team size)

** Majority of projects would only require 2-3 developers **

That limit would destory the idea of *pair programming* - double that amount.

*Stage #3:*

- Collaboration software and Git repo will be setup for team members

- If requested, a continuous integration server OR a VPS with an isolated environment will be assigned for the project

And the tests are setup -> *test driven development*. 

If we want that open approach to develop things the first line of codes should always be tests.

*Stage #4:*

- Lead developer/s will be in charge of initial planning, including:

    - Framework (by majority vote)

Allready done. The developers offered "*services*" like 5 MD per month for JS development".

    - Code assignment -> Split the project into X sections

Allready done by the architecture.

    - Coding standards

    - Directory structure

    - Database structure

    - Class structure -> Interfaces/Abstracts

Yup that has to be done by the team,

- Once initial planning/setup is complete, team members will be assigned (or choose) their section of code. E.g. Front-end UI, database interaction/management, API development, etc...

    - Novice developers will be teamed up with another member, where they can interact/learn

The team is defining a *story board* (list of things to do).


Each *story *is about one aspect (use case) of the system.

Then one developer takes the resposiblity for this story and is developing it.


Your right one story will have a defined place like API, UI, etc.


But if a developer wants to do more he can define a story that is including UI and API

*Stage #5:*

- Public Git repo

This is a public repro by design - right at the beginning.

If I am doing something wrong *I want to have feedback as soon as possible*.

Hey let everyone - who might be interested! - my code is boring  review it right from the beginning. 

- Interested parties can keep up to date with development, and interact with developers/submit pull requests

Second that!

Submit what you want - hey you would do my work!

*Stage #6:*

- Committed code will be peer reviewed (lead developer/s should do this anyway)

- *UNIT TESTS!!!*

Sorry but this is my first nope.


Don't ever do tests when everything is done.

Noone will create all tests needed (hey it is running!) and noone will check if the tests are testing all requirements.

*Stage #7:*

- Release compiled/packaged code once completed

- Maybe vpsBoard, or fellow low end companies would sponsor the project (once complete)

It's git so the team will tag releases but hopefully that project will never end.

But your're right if all tests are green the project is finished and the developers can join other teams.


----------



## NodeBytes (Dec 12, 2013)

Also... there are multiple ways to do the same thing in many languages, but not all are compatible with the desired overall design of the app/script that is being built. Just worth mentioning for further discussion.

I would recommend as a requirement for working on these projects that strong documentation of how each part of the code functions and what part it plays in the overall function be in place.


----------



## telephone (Dec 12, 2013)

wlanboy said:


> Some notes to your well written post.



Thanks for your comments wlanboy, I agree with most of your points, but wanted to criticize a few  .

*Stage #1:*


- Have a recruitment system (vpsBoard sub-section). Users will post their ideas with requirements (timeline)

It will be hard to figure out at that stage that you need 40 mandays to develop somethings.

Or that 4 developers for 10 weeks doing 8 hours a week to build a tool.

I like the idea of a a recruitment center where stakeholders can find product owners.

The *product owner (lead developer) *is offering an *architecture *and a rough plan how things should be done.

You might even call that the product owner is offering a *solution*.

*1) *Yes, during the initial stage it will just be a rough outline, but I expect those who pitch ideas to have taken their due diligence and researched their idea... I at least expect the components involved and/or bullet points of their findings.

    - E.g.  "... script" already does "...", so I think it would be beneficial to use that as the base, and simply interact with the response

    - E.g. "I think PHP would be the ideal language as ..."

*2)* Those who pitch, are not always going to lead the development. Just because they've come up with the idea doesn't mean they have the spare time, or the experience to lead a small dev team.

To expand, those who pitch the idea could be junior developers with limited experience. (E.g. Maybe they only code procedurally). Personally, I'm not going to work under that person. No offence meant to them, but they should be a team member and not the lead.

This is only if there is no initial code base.

*3)* The owner of the pitch should state their intentions in the initial outline.


    - Their position: Lead developer, team member, bystander (just proposing idea)


    - What license are you proposing to release under: MIT, BSD, GPL (v2/v3), etc..


    - How will you document the team members contributions


    - Etc...

*4)* If the owner of the pitch isn't the lead developer and the project is started from nil (no initial code base), I feel the product owner should be ALL the team members with one or two selected as product maintainers.

*5)* This would be uncommon, but what happens if no developers come forward for the proposed architecture, but X developers state their interest if another architecture is used.


    - Proposed language is Node.js, but X developers announce their interest if it was developed in Ruby

    - Proposed framework is CodeIgniter, but X developers prefer Laravel

 I feel a team vote would be a better solution (unless there's an initial code base, or only the lead is an intermediate/senior developer).

*Stage #4:*


- Once initial planning/setup is complete, team members will be assigned (or choose) their section of code. E.g. Front-end UI, database interaction/management, API development, etc...


    - Novice developers will be teamed up with another member, where they can interact/learn

The team is defining a *story board* (list of things to do).


Each *story *is about one aspect (use case) of the system.

Then one developer takes the resposiblity for this story and is developing it.


Your right one story will have a defined place like API, UI, etc.


But if a developer wants to do more he can define a story that is including UI and API

*1)* I agree. That was just to stand as an example. Developers won't be limited to their one section, but that "section" will be theirs (they're in-charge and expected to produce).

Exception would be if the lead developer runs a tyrannical dictatorship  

*Stage #6:*


- Committed code will be peer reviewed (lead developer/s should do this anyway)

- *UNIT TESTS!!!*

Sorry but this is my first nope.


Don't ever do tests when everything is done.

Noone will create all tests needed (hey it is running!) and noone will check if the tests are testing all requirements.

*1)* My fault for not going more in-depth. I meant developers should be coding to unit tests, and continually creating new tests for added features.


----------



## BlueVM (Dec 12, 2013)

I would potentially be interested...


----------



## blergh (Dec 12, 2013)

Sounds like a cool idea, and not to shit on your parade but i think it will slowly die out & go stale.


----------



## NodeBytes (Dec 12, 2013)

@BlueVM - Awesome.

@blergh - Not to be negative, and not that I disagree, but it's worth a lot to some people to have a group like this. I would be encouraged to write more code if I had projects and a team to work with on some of the bigger projects. The team of devs I am working with now keeps everything in private repos because it's all proprietary stuff for the client we are working with. I would like to work on some fun projects that aren't necessarily proprietary nor do we have to keep private.


----------



## WebSearchingPro (Dec 12, 2013)

This sounds like a very interesting idea, It would be a great learning opportunity for many members in the community.


----------



## wlanboy (Dec 12, 2013)

So let's start.


fisle: a Email panel
bpsRobert: a new WHMCS
bpsRobert: a new SolusVM
peterw: a DNS panel
Any other items on the wishlist?

So from my point of view fisle and peterw should talk to each other. Maybe they can combine their requirements?

A panel framework where we can plugin things like email or dns support. Would be nice because everyone does have other favors for servers and so everyone can add support for an additional server.


----------



## NodeBytes (Dec 13, 2013)

I'd like a good Nginx control panel.

I'll sponsor the first project.


----------



## HalfEatenPie (Dec 13, 2013)

Honestly I'd be willing to help out sponsoring this or part of it personally (out of my own funds) under the vpsBoard brand  

I love how this is organized right now and would love to help out!


----------



## peterw (Dec 13, 2013)

fisle said:


> I have been dreaming of creating good, simple to use email panel.





NodeBytes said:


> I'd like a good Nginx control panel.





wlanboy said:


> So from my point of view fisle and peterw should talk to each other. Maybe they can combine their requirements?
> 
> A panel framework where we can plugin things like email or dns support.


I like the idea to have a panel with plugins for servers!

Fisle, NodeBytes can we agree on the plattform? Phyton with bottle? Because I want to learn Phyton.

I dont want install mysql, apache, php to run a dns server. So no database needed for the panel? Or only a small one like sqlite, memcached or redis?

First goal to support one dns (bind?) one mail server (postfix?) and one webserver (ngix?). Everyone ok?


----------



## fisle (Dec 13, 2013)

peterw said:


> I like the idea to have a panel with plugins for servers!
> 
> Fisle, NodeBytes can we agree on the plattform? Phyton with bottle? Because I want to learn Phyton.
> 
> ...



Modular approach indeed sounds good.

Python indeed sounds good. I would suggest Flask instead of Bottle though, not really much reasoning behind this except I've already done few small private projects in it.

For start sqlite would be good IMO.

I am fine with the goals.


----------



## Novacha (Dec 13, 2013)

fisle said:


> Modular approach indeed sounds good.
> 
> Python indeed sounds good. I would suggest Flask instead of Bottle though, not really much reasoning behind this except I've already done few small private projects in it.
> 
> ...


Would I be able to suggest Django?

It is very app-oriented, and would be perfect to slot plugins into (so each app controls it's own urls, views and raw templates [but extend a base template]). Django is also a feature-full framework and is easier to lift a project off the ground, which is an important thing for open source software.

Testing in Django is well done, thanks to a custom TestCase class that Django provides to make writing unit tests for views and methods easier (it creates and destroys the database on start and finish, rolls back all changes after every test, and creates a test client to send requests to views). Since a panel would also use a datastore, Django's built in ORM (with multi-database support, such as SQLite, MySQL, Postgres etc.) would come in handy. Background tasks such as running system commands would be able to use the optimised Django Celery package.

In the end, the framework used is not hugely important, as long as quality of code is maintained, though it can be a big help.


----------



## peterw (Dec 13, 2013)

fisle said:


> Modular approach indeed sounds good.
> 
> Python indeed sounds good. I would suggest Flask instead of Bottle though, not really much reasoning behind this except I've already done few small private projects in it.
> 
> ...


I like the one-file idea of Bottle but Flask is supporting GET and POST in routes and does have better plugin support. After reading about Flask I think Bottle is too small for a panel project.

Do we use Phyton 2 or Phyton 3?

How should requirements look?


Flask
Jinja2
Flask-Login
Flask-Mail
WTForms
Flask-WTF
Babel
Flask-Babel
pysqlite
SQLAlchemy
Flask-SQLAlchemy
tornado
gunicorn

Do we want to use SQLAlchemy?

Do we want to use tornado or gunicorn?


----------



## 5n1p (Dec 13, 2013)

peterw said:


> I like the one-file idea of Bottle but Flask is supporting GET and POST in routes and does have better plugin support. After reading about


You can use GET and POST in Bottle too, but Flask is better.


----------



## telephone (Dec 13, 2013)

I'm one to use existing resources, unless I know I can create better. In saying that, most of the proposed ideas already have multiple projects doing a decent job.

Why create from scratch, when we could volunteer for existing projects:

*DNS/Email/Nginx CP:*

  - Vesta CP

  - Ajenti CP

*DNS only:*

  - AtomiaDNS

  - DNS-CP

*SolusVM:*

  - Feathur

I like the idea of a panel framework (*with an API*). Just ensure modules are/will be actively developed or not much will come out of it.

Personally, I'd love an idea that's not as common, or where the existing solutions are lacking. (Points for being cynical B)).

It's more motivating to improve solution, than simply churn another copy.


----------



## NodeWest-Dan (Dec 13, 2013)

An nginx panel would be cool.


----------



## SrsX (Dec 13, 2013)

I'd be interested in joining if you are up to this.

My experience:

HTML, Javascript, PHP, some perl, python, ruby (I do some CSS, but I hate designing)

C/C#/C++


----------



## BlueVM (Dec 13, 2013)

telephone said:


> I'm one to use existing resources, unless I know I can create better. In saying that, most of the proposed ideas already have multiple projects doing a decent job.
> 
> *SolusVM:*
> 
> - Feathur


Thank you, I didn't want to come out any say it... Feathur is AGPL licensed and it works pretty well (plus it's already been audited). I think people neglected to mention it based on the fact that they think BlueVM owns it when in reality it's free and open source right now. We offer licenses primarily for support and to help pay for the project, but they aren't mandatory by any means.

If anyone wants to volunteer to add code onto it or submit suggestions the door is open.

https://github.com/BlueVM/Feathur


----------



## NodeBytes (Dec 13, 2013)

Sorry I've been absent, my Uncle is passing away so I haven't had much time.



peterw said:


> I like the idea to have a panel with plugins for servers!


Agreed, too many out there already, however most come with a lot bloatware. Modular would be cool because you could install the base panel and then add on servers from it and the panel would manage the install and the optimization, sort of like what you get with minstall. The reason I bring up Nginx specifically is because I haven't seen a good (open source) panel that is secure and works well. 

As for requirements, I would say hold off on even discussing those until we shape the idea for the project and have an outline/technical requirements for it so we can choose the right framework for it.


----------



## clarity (Dec 13, 2013)

NodeBytes said:


> The reason I bring up Nginx specifically is because I haven't seen a good (open source) panel that is secure and works well.


Have you seen ISPConfig3? It works well with NginX.


----------



## wlanboy (Dec 14, 2013)

telephone said:


> Personally, I'd love an idea that's not as common, or where the existing solutions are lacking. (Points for being cynical B)).
> It's more motivating to improve solution, than simply churn another copy.


Would any of the mentioned panels would run on a 64MB vps?

Nope.



NodeBytes said:


> Agreed, too many out there already, however most come with a lot bloatware.


Second that.

As far as I understood fisle and peterw it is all about low resources.

Installing Apache, PHP, MySQL to manage a DNS or mail server is overhead.

Why should the panel consume more resources than the service it is controlling. Yup I know what you want to say.

But I like the idea of a low resource panel API:


with no dependencies but python/ruby and some python/ruby libs (ok and sqlite)
whole panel (all sources + html) < 1 MB of diskspace
whole panel (running processes) < 64 BM of RAM
API - user can define what should be running
Last point is essential. Why should all the nginx and dns stuff run if I only want to manage my mail server?


----------



## wlanboy (Dec 14, 2013)

PS:

A quick pic of what's floating around:


----------



## telephone (Dec 14, 2013)

wlanboy said:


> Would any of the mentioned panels would run on a 64MB vps?
> 
> Nope.
> 
> ...



Ruby and under 64 MB RAM  :lol:  :lol:  :lol:  :lol: (Ruby should be 512 MB+).

I would never aim a control panel for < 64 MB; 128 MB would be a more realistic target. Besides, if you own a 64 MB - 128 MB VPS, you should be adept with managing via CLI or scripts.

^ 64 MB for the panel itself without modules would be do-able.

My suggestion for languages:

  - Python 2

  - PHP 5.4+

Both Python and PHP have in-built servers that can be run in low resource environments. I don't have the statistics for Python, but the PHP 5.4+ in-built server uses 5 MB RAM when idle (KVM; 7 MB on OpenVZ).

With SQLite just beware of locking:

  - Have one DB for the overall system (panel/user details)

  - Each module will have it's own DB and can query the API to pull information from system DB

      - This way if a module has a long polling process, only said modules DB will be locked

^ Would be beneficial to have an API call to allow modules read-only access to other modules DB.


----------



## NodeBytes (Dec 14, 2013)

telephone said:


> Ruby and under 64 MB RAM  :lol:  :lol:  :lol:  :lol: (Ruby should be 512 MB+).


Hahaha. Yeah, good luck with that. I would say at minimum requirements should be 128-256mb. 



telephone said:


> With SQLite just beware of locking:
> 
> - Have one DB for the overall system (panel/user details)
> 
> ...


That would be cool. However, I would opt for separate databases using MySQL because they are easily manageable and have better user access controls and imho an overall better implementation system. Plus it would provide the opportunity for expansion of features in the future. MySQL is also more scaleable that sqlite.


----------



## wlanboy (Dec 14, 2013)

telephone said:


> Ruby and under 64 MB RAM  :lol:  :lol:  :lol:  :lol: (Ruby should be 512 MB+).


I said Ruby not Rails.



NodeBytes said:


> Hahaha. Yeah, good luck with that. I would say at minimum requirements should be 128-256mb.


So you never did anything with Ruby.

My own website:



It is like telling someone that .Net sucks because WinWord is consuming more RAM than vi  .

PS:


I would stick with Python 3.


----------



## telephone (Dec 14, 2013)

wlanboy said:


> I said Ruby not Rails.
> 
> 
> So you never did anything with Ruby.
> ...


I'm aware Ruby can run in low resource environments. My IRC bot/downloader is written in Ruby and sits at 75 - 100 MB.

In saying that, I don't think Ruby itself would be a wise choice for the project. Keeping modules "thin" would be a time consuming task. (Don't cage the beast B)).

PS:

You're right, Python 3 should be used for new projects.


----------



## wlanboy (Dec 15, 2013)

Yup - I don't want to cage the beast - but I don't want to feed it with donuts too.

Ok - so


who wants to be the lead developer for this phyton project?
who setups jira?
who setups git?
who setups jenkins/test environment?


----------



## NodeBytes (Dec 15, 2013)

I'll host jira. I don't have enough experience in Python to be the lead developer. Can somebody work with me as project co-leads?


----------



## NodeBytes (Dec 15, 2013)

I've been thinking about this a bit more. Maybe it would be beneficial to design it in PHP.

PHP would make sense for those of us who are working with it on a daily basis. It would also allow for modules to be developed efficiently and in a timely manner. PHP would provide a wider range of modules to be developed because some of the apps that will be managed have better libraries/classes to work with PHP than they do Python. Also, more people would be able to create "plug 'n play" modules for it.

This does of course introduce some inherent risks from PHP's insecure attributes.

In the end, I think it's better to design a product that more people understand how it functions as well as can audit the code and rewrite it where needed.

Thoughts?


----------



## Echelon (Dec 16, 2013)

Sounds feasible to me, since there's a vast majority of people out there that are well versed in it in one facet or another. Then again, I do quite a bit myself in PHP for clients, so my views may be skewed in one way or another


----------



## NodeWest-Dan (Dec 16, 2013)

For those of us who are newer to programming. How can we accommodate that?  Are some of you available to help and get us on the right track?  I am very interested in learning PHP or Ruby which I've started on my own so far with Ruby.


----------



## NodeBytes (Dec 16, 2013)

So that we can start focusing on developing this group of developers I have decided to create a Google group to get some communication flowing. If you have input for this project you can sign up on https://groups.google.com/forum/?hl=en#!forum/vpsboarddev

I will accept anyone who signs up. Please keep any and all discussion on this forum related to the development of this group of coders. 

I am not separating this in to a separate forum because I want separation between VPSBoard and the project, I just think it's more appropriate to keep a forum where anyone can ask questions with no criticism from anyone as well as being able to open development specific questions.

All other project details will be further discussed on that group.

Thank you for your participation.


----------



## HalfEatenPie (Dec 16, 2013)

This has been closed upon request.


----------

