Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

Does The test server work for you? Are you willing to sped time helping me test it?

It works for me.
- 6 (31.6%)
It does not work for me.
- 1 (5.3%)
I'd be willing to help test it.
- 6 (31.6%)
I'm not interested in testing it.
- 1 (5.3%)
I might be willing to help test it.
- 5 (26.3%)

Total Members Voted: 14


Pages: 1 ... 32 33 [34] 35 36 ... 42

Author Topic: Agora, A better forum (Open Source Project): Now with Github and test site.  (Read 77538 times)

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #495 on: May 05, 2015, 03:42:51 pm »

I'm using java because that's what anvilfolk used when he wrote the server, and it's what I'm most familiar with too. If you wanted to rewrite the server application in javascript, I'd be happy to take your work and run with it.
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

BoredVirulence

  • Bay Watcher
    • View Profile
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #496 on: May 06, 2015, 08:29:06 am »

Yeah, I might do a rewrite. I've been looking for a good web-app idea to play with some frameworks, and this seems a good fit. Besides, I've done a similar project (it was a marketplace, like an ebay clone), and it actually wasn't too much effort. Well the server wasn't, that was a breeze. The client side was difficult, but thats AngularJS for you, cool features, nothing easy.

And of course, if I do fork it, you're welcome to take any of the resulting implementation. We'll see what happens.
Logged

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #497 on: May 06, 2015, 12:01:04 pm »

Sure, go for it. The relevant projects are https://github.com/Agora-Project/JAgoraHTTPServer, https://github.com/Agora-Project/JAgoraServer, and https://github.com/Agora-Project/JAgoraLib. I'f reproduced much of the functionality of the last one in https://github.com/Agora-Project/JSAgoraLib. And of course, if you have any further questions, just go ahead and ask.
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #498 on: May 09, 2015, 01:11:59 pm »

Well, I'm having a lot of difficulty getting BSON to work properly. I even went and hired a dude, and he can't get it to work properly either. So if you want to rewrite the server in java such that we can ditch BSON, be my guest. You don't even have to do the whole thing, just do enough of it that I can finish the rest by mimicking your code and we should be good.
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

BoredVirulence

  • Bay Watcher
    • View Profile
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #499 on: May 09, 2015, 05:28:21 pm »

What kind of API does your server use? Express+node makes for a great, and simple, restful API.

Just a list of functions or partial URL's your client side needs. I could pump out a skeleton server with the proper routes, and a few examples on how to fill in the rest, in a few days.

I don't know what your using for the client side, I intended on forking it as a single project and would have re-written the client side too (I'm using it as an opportunity to learn Aurelia, it looks cool). But writing a quick server using express and node is super easy. Either way, most javascript frameworks speak JSON inherently. So my server would be passing and receiving JSON. And really, I see no reason why you would need BSON. It might save some bandwidth, but the complexity surely isn't worth it, especially not when JSON works out of the box.
Logged

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #500 on: May 09, 2015, 05:31:44 pm »

We were using BSON because it would work with a java server. As for express and node, I don't have either of those set up, but I could probably get them. I've been using tomcat. The server is with webfaction, and they have their own custom API.

I have access to the bash shell, so I should be able to install most anything.
« Last Edit: May 09, 2015, 05:34:06 pm by Angle »
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

BoredVirulence

  • Bay Watcher
    • View Profile
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #501 on: May 09, 2015, 06:12:50 pm »

When I have a server set up, you will need to do only a few things.

Install node. Its especially easy in a UNIX like environment.
There will probably be a few utilities you need to install globally with npm (the package manager for node). Specifically a task runner will be helpful, I've worked with grunt and gulp. It will probably be grunt, because I'll probably steal most of the configuration from my last node + express project.
After that it should be as simple as cloning a git repo.

Do you want me to try and package a database with it? MongoDB pairs well, I'm sure there are others. NoSQL databases are nice for quick start up, and tend not to be bad on performance, but if performance is a concern I think Cassandra has some pretty good specs. I can probably plug a relational database in as well. I'll focus on the server first though.

Also, is this more of a web app, where the majority of the GUI is controlled by the client side in javascript? Or does the server spit out a number of different slightly dynamic pages? I imagine the "web app" approach would work better for this kind of site, and it keeps the server side very clean and simple.
Logged

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #502 on: May 09, 2015, 06:21:12 pm »

We're already using MySQL. You don't need to package it with the server, though you can if you like.

And yeah, it's a web app. The GUI is entiely on the cient end, with the server only responsible for working with data.
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

BoredVirulence

  • Bay Watcher
    • View Profile
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #503 on: May 11, 2015, 08:42:29 am »

I've got an incredibly simple, bare-bones server running express + node. It does nothing other than provide an example restful API. Its literally only 140 lines of code, and does virtually nothing.

I can hand it over now if you would like. I plan on working on my fork, which would use the same server, but my next steps will diverge from what you've done already.

You should be able to take the server, add a MySQL driver to it, and add whatever routes you need for your client. Since your using your client side as a separate project I assume you aren't worried about having the server "serve" the client side app to the browser. If you are there are ways to do it, but it would take some time to set up.

The only other thing to add is some simple user authentication, but to add it you really need to hook up a database, and there should be an agreement on how it works with the client side. I have some code examples from an old project I could throw your way that demonstrate some authentication. Its been a while since I worked with that, and it worked out of the box so there was little that needed changing. A good example if you can follow it comes from the MEAN.js stack.

Edit: You can find the example server here:
https://github.com/BradyPowers/AgoraServer
I'll continue working on the fork. I'll be adding Cassandra as a NoSQL database, and I'll see about packaging a client side using Durandal. I'll probably put the actual fork in a separate repository, so if you need any help with the server I uploaded (its very minimal) we have a common repository. You have push access. Or you can just fork it and run with it.
« Last Edit: May 11, 2015, 09:03:37 am by BoredVirulence »
Logged

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #504 on: May 11, 2015, 12:33:24 pm »

I've got an incredibly simple, bare-bones server running express + node. It does nothing other than provide an example restful API. Its literally only 140 lines of code, and does virtually nothing.

I can hand it over now if you would like. I plan on working on my fork, which would use the same server, but my next steps will diverge from what you've done already.

I already have a server I can set the project up on, I don't need to use yours. I just want the code.

What are your next steps? I would assume you'd start adding the coding to handle requests, and all that.

You should be able to take the server, add a MySQL driver to it, and add whatever routes you need for your client. Since your using your client side as a separate project I assume you aren't worried about having the server "serve" the client side app to the browser. If you are there are ways to do it, but it would take some time to set up.

I already have both tomcat & htdocs on my server. I could just use one of those, right?

The only other thing to add is some simple user authentication, but to add it you really need to hook up a database, and there should be an agreement on how it works with the client side. I have some code examples from an old project I could throw your way that demonstrate some authentication. Its been a while since I worked with that, and it worked out of the box so there was little that needed changing. A good example if you can follow it comes from the MEAN.js stack.

That is something I'll be wanting eventually.

Edit: You can find the example server here:
https://github.com/BradyPowers/AgoraServer
I'll continue working on the fork. I'll be adding Cassandra as a NoSQL database, and I'll see about packaging a client side using Durandal. I'll probably put the actual fork in a separate repository, so if you need any help with the server I uploaded (its very minimal) we have a common repository. You have push access. Or you can just fork it and run with it.

Awesome, thank you!
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

BoredVirulence

  • Bay Watcher
    • View Profile
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #505 on: May 11, 2015, 02:23:53 pm »

To clarify a few things.

I'm technically working on my own project. Its a fork, that is it does the same thing, but its an alternate implementation. So I will do things to a separate repository that won't be completely compatible. I'm doing it because I want a good web project to play with a few technologies I've been wanting to play with. Any work I complete related to this project can be used by you however you see fit. For instance, if my fork were to pass yours in functionality with less complexity, you have my express permission to incorporate it into the your project.

Since you are having such a problem with getting Java to communicate with your client side Javascript, I provided a simple Javascript server (back-end is synonymous here). When I say server, I mean the code that makes a machine behave like a server. The point of the Javascript server was to show you how you can accomplish those same tasks in Javascript. It is incompatible with your Java work though, commiting to it would require abandoning Java on the server. Technically you can get the two servers to communicate with eachother, but it would likely involve solving your current issues, and introduce a lot of unnecessary complexity. You may be able to use some Java technologies with the Javascript server, but thats likely to reintroduce issues getting Java and Javascript to work.

The server I provided can be used by you as you see fit, the repository too. If you aren't sure which direction to go with, feel free to develop them both side-by-side for a while. My fork will take place in a different repository.


Things you can do...

Install a driver for your database. Looks like there is one named mysql (type: npm install --save mysql). Here is a page on it.
This will allow you to connect to your MySQL database.

Since this server will be incompatible with your Java server, you will need to investigate to how to reimplement functionality you already have. Consider a little bit of effort here an investigation into which server you want to keep. I would also try and implement some of the routes your client side needs, and see if you can get it communicating.



Things I will be doing with my fork...

I will be adding a database (Cassandra in my case) to my fork. Next I will see if I can get Browserify to serve (bundle, build, ship, whatever) a client side Durandal app to the browser (when a browser makes a request of the server, how else would the client side run?).

After that I will have a simple full stack application. From there I would implement most of the required functionality on the back-end. Test it using curl where applicable. Then implement the client side to provide an interface that utilizes the back-end restful API. At this point we have a partially functioning Agora implementation. Further iteration would refine it.
Logged

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #506 on: May 18, 2015, 08:27:18 pm »

I have a guy suggesting that we rewrite the thing in Meteor.js with Polymer and Mongo-db. Does that sound like a god idea, that will make things easier in the long run?
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

Eagleon

  • Bay Watcher
    • View Profile
    • Soundcloud
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #507 on: May 18, 2015, 09:49:17 pm »

I have a guy suggesting that we rewrite the thing in Meteor.js with Polymer and Mongo-db. Does that sound like a god idea, that will make things easier in the long run?
Is he offering to rewrite it? ;) Otherwise I would stick with an implementation and follow it through. That's a platitude, I don't really have the first clue about web development or JS - you're probably in the best position at this point to decide if Meteor or Polymer are good fits, or something you can work with.
Logged
Agora: open-source, next-gen online discussions with formal outcomes!
Music, Ballpoint
Support 100% Emigration, Everyone Walking Around Confused Forever 2044

Angle

  • Bay Watcher
  • 39 Indigo Spear Questions the Poor
    • View Profile
    • Agora Forum Demo!
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #508 on: May 18, 2015, 09:59:02 pm »

He's offering to rewrite it for $650. I think it's probably worth it, as it includes the server and client, and should bring us pretty much back up to where we were with the java server.
Logged

Agora: open-source platform to facilitate complicated discussions between large numbers of people. Now with test site!

The Temple of the Elements: Quirky Dungeon Crawler

Eagleon

  • Bay Watcher
    • View Profile
    • Soundcloud
Re: Agora, A better forum (Open Source Project): Now with Github
« Reply #509 on: May 18, 2015, 10:13:27 pm »

He's offering to rewrite it for $650. I think it's probably worth it, as it includes the server and client, and should bring us pretty much back up to where we were with the java server.
I can't contribute financially, things are nuts with work and they might not keep me on if I can't get the work restriction I have lifted. I can look at his portfolio if he has one if you want a second pair of eyes - tomorrow, I've had four hours of sleep in the past 16 haha. But yeah, keep options open?
Logged
Agora: open-source, next-gen online discussions with formal outcomes!
Music, Ballpoint
Support 100% Emigration, Everyone Walking Around Confused Forever 2044
Pages: 1 ... 32 33 [34] 35 36 ... 42