程序代写代做 jquery game AI database ,

,
School of Science
COSC2675 Rapid Application Development
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. Independentlyanalysethetaskrequirementandformulateadevelopmentplan. 2. Systematicallydevelopacompletewebapplication.
3. FollowRubyandRailscodingconventionasdescribedinthecoursematerials. 4. Followagilestyleofdevelopment.
5. Testapplicationregularlyanddeveloptheapplicationbasedontesting.
6. Documentcodewhennecessary
7. Useexternalgemsorlibraries
8. Controlversionsandstagesofthedevelopment
9. Collaborateeffectivelywithasmallteam.
10.Meet deadlines.
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)
Page 1 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.
======================== P ASS 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 2 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 3 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 4 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 5 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 6 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 7 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 8 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)
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.
======================== 90+ LEVEL ======================== NOTE: You should only attempt this level if you have completed 80+ level.
Page 9 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 10 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 three- member 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 11 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
gem
gem
gem
gem
gem
gem
gem
gem
gem
gem
gem
gem
‘rails’,
‘bootstrap-sass’,
‘puma’,
‘sass-rails’,
‘uglifier’,
‘coffee-rails’,
‘jquery-rails’,
‘turbolinks’,
‘jbuilder’,
‘carrierwave’, ‘
“mini_magick”
“font-awesome-rails”
‘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%
Page 12 of 12