Calling all fans of LAGTV. We, the bouses and bousettes of LAGTV are building an awesome website for the community. Let's keep it open source and freely available so the guys always have access to it.
For those that don't know, LAGTV is the partnership of Adam (NovaWar) and Jeff (MaximusBlack). They have two YouTube channels and show various series about computer games. Their most famous series is "When Cheese Fails" which has the pair casting StarCraft II replays of lower league players failing while attempting to cheese their opponent - it's very funny.
Between the two channels there are well over 100,000 subscribers which make up the LAGTV community. This project is here to build a website for this community.
If you know Ruby on Rails then you can help. Just fork this repro then create a feature branch for your changes. Please do not add changes to the master branch. When you are done, send a pull request and the core team will review the changes and then merge into master.
Make sure your changes are covered by test. Pull requests without tests will be rejected.
We haven't tried setting up the development environment on Windows, but OSX and Linux will be fine. Here's how to get setup:
- Install Ruby (we use RVM)
- Install Postgresql (we use Homebrew)
- Create a database called lagtv_development with a user called lagtv
- Setup your config by copying the following and changing as required:
$ cp config/database.example.yml config/database.yml
$ cp config/application.example.yml config/application.yml
$ cp config/newrelic.example.yml config/newrelic.yml
$ rake db:setup
- Start the webserver with
$ rails s
- See the site running at http://localhost:3000
- Run tests with
- Start guard for fast test running while developing with
$ bundle exec guard
- Install redis via homebrew
- Start redis with
$ redis-server /usr/local/etc/redis.conf
- Start resque worker for emails with
$ QUEUE=group_email rake environment resque:work
Once you are all setup, pick an issue from the current release (see below) and code away . If you are unsure of what to work on or need help setting up, post a message in the discussion group and one of us will help you get started.
Get on the test site and try it out. If you find a problem, create issues here in the github issue tracker. Don't worry about breaking anything, just do whatever you fancy. We'll reset the database from time to time on this server. Keep an eye of the discussion group where we announce upgrades to the testing server with details of what has changed.
Take a look at the website and if you feel the user interface could be improved in certain areas then create a mock up and post it in the discussion group. Once we have discussed and accepted it, you might be asked for some assets (probably just PSDs) while we add your design.
We are always on the look out for new ideas for improving the site. If you've spotted a problem, large or small, or you have a feature request you can discuss it with the group first and then create an issue in the issue tracker for us to pick up.
Before creating a new issue, please check the existing issues list to make sure that it hasn't been reported already.
- We will gather feedback from the community and if its a new, valid issue we will add it to the issue tracker.
- After discussion between the dev team and Adam we will do one of the following:
- At the beginning of a release cycle, we will review the backlog and select a number of issues that should make up the next release.
- We will try to keep releases small but often.
The next release is 1.6.0
Here's how releases will work in general.
- Developers can pick issues from the next release milestone to work on.
- At various points during the release we will upgrade the test site and announce it in the discussion group.
- Testers can review the changes and report issues.
- The developers will fix the issues until the milestone is complete and the testers are happy.
- We will ask Adam and Jeff to review the test site and give us approval to upgrade live.
- We will publish the changes in the discussion group and in the forum.
- Fixes a bug with registration where the user passes the "human" test but some other fields failed validation.
- During replay upload, open the file and read the patch version and game length for added info for Analysts
- Now automatically cleans old (uploaded more than 28 days ago) replay files everyday to free up disk space
- New replay status of "Downloaded" which is set if an Admin (Adam or Jeff) download a replay
- Moderators (and above) can now order the forum categories on the main forum page
- Analysts can now only comment once per replay
- Changed Machinima footer link to Polaris (TGS)
- Upgraded rails and other gems for security patches
- Some other minor bug fixes and improvements
- Members can setup their own profile pages
- Logged in members can view other peoples profile pages
- Admins can manage profile player connect services
- Members can customise the url of their profile page
- Forums now have RSS feeds
- Members can report profile pages for inappropriate content
- Community Managers can change a members role to any level expect Admin
- Added the new LAGTV stream notification and design
- Admins can send emails to a selected group of members by role
- Announcements are now fixed at the top of the page after scrolling
- Users that are deactivated are logged out of the site on their next request
- Upgraded rails to 3.2.11 due to critical security patch
- Stream Notifications (update every 5 minutes - even if the browser is not refreshed)
- Replay comments can be edited by the author (CMs and Admins can also edit them)
- Replay list can be filtered to show replays without a rating
- Added HotS and WoL options when uploading a replay
- Improved email notifications from forum posts
- Upgraded the forum to the latest version of the Forem engine.
- Multiple forum enhancements
- Added adverts to the site so it can start to pay for itself.
- Added site wide announcements
- Members can see what rating their replay has been given.
- Improved the replays list with more information for Analysts.
- Added Analysts stats to the list of users so.
- Changes SSL to only be enforced on the login, register and edit profile pages to reduce browser warnings.
- Multiple bug fixes.
- Imposed a maximum height of 150px for signatures.
- Users can opt to hide all signatures in the forums if they prefer not to see them.
- Fixed some signature layout issues.
- Changed the site font to improve readability and workaround a Chrome rendering bug on Windows 7.
- Site wide SSL for increased security (redirects to https if on http). Note: forum pages containing external images (not on https) may display a browser warning.
- The "My Profile" link has been replaced with the logged in username and avatar.
- Forum signatures now part of the users profile and added to all posts by that user. Admins and CMs can hide a users signature if required.
- Homepage "Latest Forum Activity" list now excludes support category posts and displays the relative date of the post.
- Registration captcha now accepts answers in digits and words.
- Added new "Dev Team" role for those people actively developing and supporting the website.
- Images in the forums now have a max width and height so they do not go outside the bounds.
- BUG FIX: Users can now updated their own profile without receiving a permissions error.
- Initial release
A big thank you to everyone that has helped with the site so far. It's been a great community effort and I know that Adam and Jeff are very happy with what we have done so far.