Application Proposal - kushball/Scrumify-Rails GitHub Wiki
SCRUMIFY (GEM)
Overview
Scrumify aims to bring a simple, fun, and robust project management tool that follows the methodologies of Scrum. Our goal is to make this simple enough for anybody to use, whether its for a personal project, small business, or corporation. Among other great features, the tool will allow the creation of epics, sprints, stories, and an easily manageable backlog. Additionally, the app will allow you to assign tasks to members of your team, comment on each task, and track statistics on programmer productivity, including burndown charts, allowing your team to work to their full potential. The tool can also email team members reminders at varying intervals about their upcoming tasks.
Some of the features which may be added later include a better user interface for managing your different tasks as a team leader and a deeper statistics collection. Additionally, we would like to add a sticky note story interface which allows drag and drop movement of stories to various areas correlating to the amount of points that story is worth.
Project Stakeholders
- Administrators of System
- Company/Org/Group Managers/Executives/Leaders
- Company/Org/Group Members/Employees
- Project Leaders (members/employees that have ability to manage projects within an organization/group)
These stakeholders need varying levels of access assigned by the company leaders/managers.
Project Requirements
- Choice of programming language: Ruby
- Choice of web framework: Rails
- Choice of database: Mysql
- Choice of version control: Git
- Support for multiple stakeholders: Yes, (admins, users). Each group/team has a team leader and team members.
- Integration of "live" data from at least one outside (i.e. not developed by you) system OR a simulation subsystem (where appropriate): We will be integrating with Facebook (optional for users) for logging in and grabbing additional information about a member.
- Support for a communication mechanism among users: Each story allows commenting to update people on your progress or if you have questions. Any team member can respond to these in a comment thread.
- Support for tagging and search: Yes, all stories, epics, and sprints can be tagged and searched.
- Deployment: Heroku Developer Access
High Level Architectural Components
- User Authentication
- User Authorization
- Creation and managment of Users and Orgs/Groups/Teams
- Creation and management of Epics/Sprints/Stories
- Facebook API Integration
- Statistics Tracking and Graphing
Team Member Roles
- Kushal Bhatt - Project Manager/Developer/Front End
- Matthew Furumizo - Developer
- Alberto Garcia - Developer
- Chase Murphy - Front End/Developer
- Jun Abbott - Developer
- Oren Radousky - Developer
Initial Stories
- A user shall be able to login to our system.
- A user shall be able to edit their account information.
- A user shall be able to create an organization/team.
- A user shall be able to invite people to their organization/team.
Setup for Testing and Deployment
By default rails provides the 3 separate environments, production, development, and testing.
We may use Minitest to write unit tests for our application.
Our deployment process is extremely simple with Heroku, it's just a matter of pushing to their specific git repository.
We will be working on the project locally in development mode. Each specific user will push to a git branch created for them. After the code is looked over by the project leader, it will be merged into the master branch which will then be pushed to production at Heroku.