项目作者: hannad4

项目描述 :
A website that serves as a “hub” of various supplemental resources for students who study/go to school in areas that have an unequal distribution of academic resources.
高级语言: Ruby
项目地址: git://github.com/hannad4/brainWave.git
创建时间: 2018-10-07T00:14:06Z
项目社区:https://github.com/hannad4/brainWave

开源协议:GNU General Public License v3.0

下载


Social Issue Being Addressed: Educational Inequality

Project Title: Brain Wave

GitHub Repository Name, Path: brainWave, https://github.com/hannad4/brainWave

Option Chosen: Option 2 - Social issue of personal interest

Implementation Method: Ruby on Rails, PostgreSQL. Accessible via any web browser

Project Idea: A website that serves as a “hub” of various supplemental resources for students
who study/go to school in areas that have an unequal distribution of academic resources.

Why This Project is Innovative:
Educational inequality is defined as “the unequal distribution of academic resources to
socially excluded communities.” This unfairness typically stems from many factors, such as
wealth and location, but one significant commonality exists; often times, students who live with
some form of educational inequality will find school to be increasingly difficult, which in turn
could lead to an increasing amount of “drop-outs” for that area. Brain Wave would attempt to
address this issue by serving as a “one stop shop” or “center” for a plethora of resources, which
would include items such as methods for studying, guides to follow when faced with academic
challenges, organizational tips, etc. This application would differ from others because it would
attempt to address the problem from the root; the application would try to provide information
and guidance in a way such that the student’s mindset can be developed in matter that is better
geared for success. Instead of just acting as a service that points to good resources, Brain Wave
would also include information on how to apply such tools in an effective manner, so that the
student can feel that they are utilizing the tools in a valuable way. In doing so, the student could
feel happier, less stressed, and more excited for their academic pursuits.

Algorithms to be Implemented:
This application will aim to suggest resources in general as well as on a user-specific
basis. In order to do this, it will ask the user questions, and then suggest the appropriate
resources/guidance based on the user’s responses. Questions such as “what grade are you in?”,
“how interested are you in school?”, “do you own a smartphone/laptop?”, and others will all be
used to calculate which contents will be best for the user’s needs. This will result in an
application which includes a user experience that feels more personalized to the user.
Data Structures to be Used:
This application will need to have a system to “record” the user’s responses, as well as
various methods for calculating data and such. As a result, this application will utilize various
data types and structures in correlation with the supported data types of PostgreSQL as required.
The most notable of these will be arrays, hashes, booleans, various character types (ie. char,
text), various number types (ie. integer, floating point), and various temporal types (ie. date,
time). Different data types may be used as needed throughout the development of this project.

Software Engineering Concepts to be Learned:
In terms of technicalities, this project will be built utilizing Ruby on Rails and
PostgreSQL. As a result, these two fields will need to be investigated and self taught, as they are
not covered in lecture or in a classroom-style environment. Any associated fields that are part of
developing a Rails application will also need to be investigated, such as HTML, CSS, and
JavaScript. Many resources that will be used for learning Rails and PostgreSQL for the Mercer
Street Friends project will also be utilized for the benefit of this project. These include: the class
recommended text Agile Development with Rails 5.1 , online services such as Codecademy ,
Learn Ruby Online , PostgreSQL Tutorial , and Tutorials Point ’s PostgreSQL tutorial.
Throughout the development of the project, additional concepts will be investigated if/when
needed.
In terms of organization and project planning, the experience obtained from previous
individual/team term projects will be reinforced during this project’s life cycle. Concepts learned
in class such as use case diagrams, state charts, and class diagrams will be utilized to aid in the
project’s development as needed. However, since this is an individual (“one-man”) project
assignment, concepts such as paradigms of team management will not be used.
An iterative process model will be used; this is ideal for this specific project, since various prototypes are due throughout this product’s development life cycle. The iterative model is also beneficial in that it builds its complexity “from the ground up.” That is to say, the first prototype may be very simplistic in design, with perhaps minimal to no “real” functionality implemented. Functionality can then be added in throughout the evolution of the product.

Resources to be Used:
(Please see resources under “Software Engineering Concepts to be Learned” section as well)

Further resources will be utilized as needed throughout the development of this project

OSS License Used:
There are many licenses that are available for Open Source projects such as this one.
It was decided that this project will utilize the GNU GPL v3.0 license. The details of this
license are suitable for projects aimed for the betterment of the general public; the restrictions set
in place are good for allowing for modifications and improvements to be made to Brain Wave , as
well as allowing for appropriate documentation that notes of any change. Such a license will
allow for the end user and interested participant to “be in the know” about how the project is
being developed and what is being changed. Although this license may be more restrictive
compared to that of others, it is beneficial by requiring that any works - larger or smaller - must
use the same license and conditions.