联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codehelp

您当前位置:首页 >> OS程序OS程序

日期:2020-05-12 08:13

School of Science
COSC2675 Rapid Application Development
Assignment
Assessment Type: group assignment
Submit online via Bitbucket or Github
Marks awarded for meeting requirements as closely as possible.
Clarifications/updates may be made via announcements/relevant discussion forums.
Due date: end of Week 11; Deadlines will not be advanced but they may be extended.
Please check Canvas → Assignments → Assignment for the most up to date information.
As this is a major assignment, a university standard late penalty of 10% per each working
day applies for up to 5 working days late, unless special consideration has been granted.
Weighting: 40 marks/100 (note: that includes demo marks associated with this assignment)
1. Overview
The objective of this assignment is to train on high level web development skill including task
analysis, fast development, testing and team collaboration. The different stages of this assignment
are designed to gradually introduce different scales of development.
Develop this assignment in an iterative fashion with good time management practice. You should get
started now.
If there are questions, you must ask via online forums or similar communication channels. You should
phrase your question in a general manner. The teaching team is not supposed to debug for you. Do
not post your source code. Small code snippets are fine.
2. Assessment Criteria
This assessment will determine your ability to:
1. Independently analyse the task requirement and formulate a development plan.
2. Systematically develop a complete web application.
3. Follow Ruby and Rails coding convention as described in the course materials.
4. Follow agile style of development.
5. Test application regularly and develop the application based on testing.
6. Document code when necessary
7. Use external gems or libraries
8. Control versions and stages of the development
9. Collaborate effectively with a small team.
10.Meet deadlines.
,
Page 2 of 12
3. Learning Outcomes
This assessment is relevant to the following Learning Outcomes:
1. Programming capability using Ruby
2. Development capability of a full-stack application based on Ruby on Rails framework.
3. Knowledge and experience of industry level software engineering practices e.g. TDD, Agile.
4. Understanding and experience of team development with tight time constraints.
4. Assessment details
Please ensure that you have read sections 1-3 of this document before going further. Your code
must meet the following code and documentation requirements.
Suppose you run a tech startup. You see the need of a news sharing website as everyone is
inundated by news, messages from different social media and news channels. So you plan to build
a new production, a “proper” news-sharing web site. A visitor only see news shared by those who
have similar interest.
======================== PASS LEVEL ========================
A new visitor will be required to sign up to be a user. The user must provide an email address, two
identical password and a mobile number to be registered. If the visitor is already registered, then
he/she can click the “already a user?” link for the login page (see below).
The login page is connected to Signup page as well via link “register”. Your app can begin with login
page or signup page. The style of all pages should be consistent. The footer should show
information like team member names, tutor group and tutor name.
,
Page 3 of 12
After login, your app home page should look similar to the above example.
? The “Recent Post” button is to show the most recent posts on the main page. For this
assignment, you can assume recent means one month.
? The “Recent Post” page is the default homepage.
? Each news item shows the avatar icon of the person who posted it.
,
Page 4 of 12
? Each news item shows the title, the name of the contributor, the time stamp, categories of the
news, number of comments and number of views.
? The title will be highlighted with mouse-over (see the top news post “MIDI 2.0…”). The news
page will show when the title is clicked.
? On the right side bar, the “Recent Members” area shows the users that are recently active.
You can assume that the width of this area does not change and it shows maximum 12 users.
? The “Topic” area contains some predefined topics e.g. A.I., V.R., RMIT, Game etc. Topics will
be highlighted when mouse over. They can be selected and un-selected by mouse click.
? The “Post” area contains five most viewed posts (which might include some old posts)
? The “Links” area contains a few links to external sites such as RMIT homepage,
rubyonrails.org etc. The links can also be highlighted when mouse over.
? You should have a database at backend that stores information of users, news posts,
comments and other necessary data.
? By clicking the user icon at the top right corner, a member can log out.
Your app should support user “RAD” with password “Rails2020”.
======================== Credit LEVEL ========================
NOTE: You should only attempt this level if you have completed PASS level.
At Credit level, you app allows unregistered visitor to view the home page. However a visitor cannot
make a new post. When the visitor tries to make a new post by clicking the “New Post” button, you
app will prompt him/her to login or to register. The visitor can also login in by clicking the top right
icon. After login, the visitor should see the home page same as that in Pass level.
Selected Post: As specified in Pass level, user can select topics in the “Topic” area on the right
side. When user click “Selected Post”, then the main area will only show news with the selected
topic(s). See the example below. When user selected “A.I.”, only AI related news items will show. If
user selects more topics, then news of the newly selected topics will appear. Similarly, if a topic is
unselected, then the relevant news items will disappear.
Note: Topic “News”, as shown in page 3, is the default topic, meaning no topic tag. News items of
this type should not appear under “Selected Post”.
,
Page 5 of 12
New Post: By clicking the “New Post” button, users can create their own posts. Other than title and
content, users can also select topic from a pre-defined list. If none of the topic is selected, then the
new post will be tagged with a generic topic “News”, which would not appear under “Selected Post”.
The title of a post cannot be empty. The content cannot be empty as well. After clicking the “Post”
button, a valid post will appear on the front page with the actual time stamp.
,
Page 6 of 12
Profiles: The name in each news item and the icons in “Recent Members” area are all clickable.
They link to the profile page of the corresponding member. A profile page shows the joining time, the
city, recent posts and recent comments of this member.
======================== Distinction LEVEL ========================
NOTE: You should only attempt this level if you have completed CREDIT level.
Input validation: When a new user signs up, you are
required to validate the input.
? The email address must be valid as <>@<>.<>
? The initial pass word should be in between 8-20
characters, excluding special characters.
? The confirm password must be identical to the initial
password.
? Mobile number must be a number in between 10-13
digits.
My Setting: When user clicks “My Setting”, a page similar to
below should appear.
,
Page 7 of 12
The top “My Profile” page is the
same as that in Credit Level.
“My Posts” lists all the posts made
by this member.
“My Comments” lists all the
comments that the members to
other people’s posts.
“Comments to Me” shows the
comments that other members
made on this member’s posts.
You are free to design how the
above three parts would look like.
For “Setting”, there are four
sections: “Personal Info”, “Avatar”,
“Password” and “Verification”.
See example of Personal Info on
the left. “Avatar” is where user sets
their Gravatar profile (see info re
Gravatar in tutorials or search
online.) “Password” is to change
password. “Verification” is where
user upload an official card for
authentication.
Note: the avatar image and card image should be stored locally, not on a remote site.
,
Page 8 of 12
Making comments: For each post, all the relevant info will be display when user click the post item
from home page. That includes existing comments on the news. See the example below. Note the
right side bar, including Recent Members, Topic, Comments and Links, also appears on this page.
User can comment on that news post. A simple text box is fine for this level. The number of
comment on this post should increase by 1 after the comment is posted.
,
Page 9 of 12
======================== 80+ LEVEL ========================
NOTE: You should only attempt this level if you have completed DISTINCTION level.
Live view count: The number of views of a post increases by 1
when a viewer opens the news item.
Remember me: the login page at this level supports this
functionality, so a user doesn’t have to type user name and pwd.
Forget password : the login page at this level can help user to
retrieve the password by simply sending a temporary login link to
the user’s email. User can bypass login when the user clicks the
link in the email. You should use an email address that you have
access e.g. your RMIT student email address.
Search: Search function works for both unregistered users and logged-in members. News posts that
contain the search key word will listed in a manner similar to “Recent Post” and “Selected Post”. You
can ignore comments which may also contain the search keyword.
(before login)
(after login)
======================== 90+ LEVEL ========================
NOTE: You should only attempt this level if you have completed 80+ level.
Nest comments: The posted comments can be commented as well, similar to a forum where you
can reply to someone else’s reply.
Rich text box: Your text box at this level uses rich text box which supports editing and formatting.
That applies to creating a new post and making a comment.
,
Page 10 of 12
Deletion: User can delete their own comments in the My Setting area, under “My Comments”. If a
comment is deleted, the number of comments of that post should be updated accordingly. User can
also delete their own post in the My Setting area, under “My Posts”. You can still keep the comments
attached to that post so the deletion from one user would not affect the profile of another user.
News pull down menu: The News menu in the header is implemented at this level. It only shows 2
options which are the two most popular news topics. Being popular means the highest total views of
all posts tagged with that topic.
5. Referencing guidelines
If you have used sources of information other than the contents directly under Canvas→Modules,
you must give acknowledge the sources and give references using IEEE referencing style.
Where: Add a code comment near the work to be referenced and include the reference in the IEEE
style.
How: To generate a valid IEEE style reference, please use the citethisforme tool if unfamiliar with
this style. Add the detailed reference before any relevant code (within code comments).
6. Academic integrity and plagiarism (standard warning)
Academic integrity is about honest presentation of your academic work. It means acknowledging the
work of others while developing your own insights, knowledge and ideas. You should take extreme
care that you have:
? Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have
quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your
assessment through the appropriate referencing methods,
,
Page 11 of 12
? Provided a reference list of the publication details so your reader can locate the source if
necessary. This includes material taken from Internet sites.
If you do not acknowledge the sources of your material, you may be accused of plagiarism because
you have passed off the work and ideas of another person without appropriate referencing, as if
they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism
covers a variety of inappropriate behaviours, including:
? Failure to properly document a source
? Copyright material from the internet or databases
? Collusion between students
For further information on our policies and procedures, please refer to the University website.
7. Assessment declaration
When you submit work electronically, you agree to the assessment declaration.
8. Submission
8.1 The submission can be from an individual or a team no more than three. For a threemember
team, 15% mark reduction will apply. For example, a 59-mark submission
from a three-member team will result in 50 for each member.
8.2 Your application is expected to be production ready. Proper test and data validation
should be embedded in your application regardless of the level that you are
attempting.
8.3 There is no need for your application to look and behave exactly like the above
example. You can make necessary adjustment to improve the design. However the
aforementioned functionalities are the minimum requirement and should be well
supported.
8.4 You are required to deploy the final version onto Heroku.
8.5 In the README.md file of your application, you should state
- Name(s) & student number(s) of the development team
- The highest level you attempted, e.g. CR, DI or 90+
- The time sheet for each team member (see Point 8.6 below)
- Heroku deployment URL and the last Heroku deployment log
8.6 Your assignment should hosted on a PRIVATE bitbucket or Github repository named as
RAD2020_{studentNumber(s)_in_ascending_order_separated by_underscore}. You
should update your repo as frequent as possible.
,
Page 12 of 12
8.7 You are required to keep track of the hours that you spent on the development including
testing, discussion, reading.
For one professional developer working alone, the expected completion time is
about 5 full days.
For time tracking purpose, we recommend toggl.com, a free online time tracker. You
can sign in with your RMIT student account (under “SIGN UP WITH GOOGLE”). This
log needs to be included in the README.md file (See Point 8.5 above).
8.8 Only the following GEMS should be used in your application.
gem 'rails',
gem 'bootstrap-sass',
gem 'puma',
gem 'sass-rails',
gem 'uglifier',
gem 'coffee-rails',
gem 'jquery-rails',
gem 'turbolinks',
gem 'jbuilder',
gem 'carrierwave', '
gem "mini_magick"
gem "font-awesome-rails"
gem 'bcrypt',
8.9 More details about submission and demo will be provided close to the due date.
Submission failed to run with provided docker/vagrant image would not be marked.
Rubric
Assessment Task Marks
Pass Level 50 - 59 marks
Credit Level 60 - 69 marks
Distinction Level 70 - 79 marks
80+ Level 80 - 89 marks
90+ Level 90 - 100 marks
1-member submission
2-member submission
3-member submission
Submission from a group larger than 3
receives zero mark
final = mark * 100%
final = mark * 100%
final = mark * 85%

版权所有:留学生编程辅导网 2021,All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。