首页 > > 详细

辅导 IS6153: Project 2024 - Wanderpal讲解 Python编程

IS6153: Project 2024 - Wanderpal

Due Date: Thursday April 11th, before 9 PM

Where: Canvas

Marks: Project is worth 50% of total module marks

Note – this is a group project. Groups up to a maximum of 3 are allowed.

The Story

After a career as an IT analyst for E-Corp in New York, you decide that it might be time to make a go of it at home. You have some money saved, so you head back to your hometown, Smallville.

One night, while watching Dublin beat Cork yet again in the All-Ireland hurling final, you run into an old friend from your class, who is just back from working as a quantitative analyst at a bank in London. You both reminisce about the fun you had in design lectures. You arrange to meet up, and a few days later, over a few skinny mochachinos at the English market, you discuss an idea that you’ve been thinking about for a while.

Over the last couple of years, you both have developed a real interest in travel. You both have a ton of travel books and maps and love planning trips to hard-to-reach places.

‘Wanderpal’ will be a new application where people can plan holidays for their groups of friends, where everybody gets a say in the planning process, and everyone can keep track of their travel itinerary.

Outline Requirements

When using Wanderpal users must sign up to use the service. This will be a ‘freemium’ application, where people can decide to pay a small fee to get extra perks.

For a casual user, Wanderpal will allow users to:

· Create a single travel plan.

· Invite up to a maximum of three people to be on the trip.

· Show options on places to stay and things to do.

· Allow users to vote/comment on the options.

Premium users can have multiple travel plans and invite up to 30 people on their trip.

For registered users (who pay a monthly fee), here are some functions which might be included:

1. User Registration and Authentication:

· Users should be able to create accounts.

· Authenticate users securely.

2. Profile Management:

· Users can create and manage personal profiles.

· Option to add profile pictures.

3. Group Creation:

· Users can create groups for planning trips.

· Specify group details such as name, purpose, and privacy settings.

4. Trip Planning:

· Create new trips within a group.

· Specify trip details: destination, dates, itinerary, etc.

5. Invite and Join:

· Invite friends to join the application.

· Join existing groups or trips.

6. Expense Tracking:

· Feature for adding and tracking expenses related to the trip.

· Ability to split expenses among group members.

7. Itinerary Management:

· Collaboratively create and edit trip itineraries.

· Add activities, attractions, and events.

8. Accommodation Booking:

· Integration with third-party services for hotel or Airbnb booking.

· Shared accommodation preferences within the group.

9. Transportation Booking:

· Integration with transportation services (flights, trains, etc.).

· Coordination for group travel arrangements.

10. Communication Features:

· Chat functionality within groups.

· Notifications for important updates or changes.

11. Voting and Decision Making:

· Polls or voting features for group decisions.

· Consensus-building mechanisms.

12. Document Sharing:

· Upload and share important documents (e.g., travel insurance, tickets).

13. Budget Planning:

· Set and manage a budget for the trip.

· Track expenses against the budget.

14. Map Integration:

· Embed maps for trip destinations.

· Navigation and location-based information.

15. Weather Information:

· Integration with weather services for real-time updates.

· Plan activities based on weather forecasts.

Non-functional requirements could include the following:

1. Performance:

· The application should respond quickly to user actions.

· Handle a large number of users simultaneously.

2. Scalability:

· Ability to scale as the user base grows.

· Accommodate increasing data and traffic.

3. Reliability:

· Ensure the system is available and reliable.

· Implement backup and recovery mechanisms.

4. Security:

· Use secure authentication and authorization methods.

· Encrypt sensitive user data.

5. Usability:

· Intuitive user interface.

· Accessibility features for diverse users.

· Application should be mobile friendly

6. Compatibility:

· Cross-browser and cross-device compatibility.

· Support for various operating systems.

7. Data Integrity:

· Ensure data consistency and accuracy.

· Implement validation checks.

8. Data Privacy:

· Comply with data protection regulations.

· Clearly communicate privacy policies.

9. Maintenance:

· Easy maintenance and updates.

· Logging and monitoring tools for issue tracking.

10. Integration:

· Ability to integrate with third-party APIs (e.g., maps, weather).

· Compatibility with social media platforms for easy sharing.

11. Performance Monitoring:

· Regular monitoring of server and application performance.

· Identify and address performance bottlenecks.

12. Backup and Recovery:

· Regular automated backups of critical data.

· Quick recovery in case of system failures.

13. Load Balancing:

· Distribute network traffic evenly to prevent overloading.

· Ensure optimal performance during peak times.

14. Compliance:

· Adherence to relevant legal and industry standards.

· Regular audits for compliance.

15. Localization:

· Support for multiple languages and regional preferences.

Design

Important note – you might want to use a different name – so maybe you can come up with something better that Wanderpal. If you like, use a different name!

Design your own logo and colour scheme.

Your colour scheme and logo should reflect fun, nature, excitement, travel, friendship, experiences – and generally living your best life!

Your Approach

· Decide on a tool to manage the team effectively – have a look at Trello or Basecamp

· Create three personas to represent the archetypical users for the application.

· Identify the goals associated with these personas – maybe 2 each.

· Describe some key scenarios relating to these goals – total of 6.

· Design a set of low-fi prototype material, including a couple of schematics and storyboards.

· Test out your prototype and get metrics on the main tasks/functions – make a video.

· Choose a colour scheme and logo and justify your choice of colour/design.

· Design a wireframe. prototype using Balsamiq – include 6 screens for web app and 4 screens for mobile app

· Create a hi-fi prototype for your application in html/css

· Use Python and a web framework such as Django to build your working prototype.

· Choose an application architecture – describe the software architecture in terms of the layers required.

· Present to the class!

Deliverables:

1. Description of personas

2. List of goals associated with personas.

3. Description of 6 key scenarios

4. Low-fi prototype material, including a couple of schematics and storyboards.

5. Metrics on low-fi prototypes – how many clicks, etc.

6. Wireframe. prototype for web and mobile

7. Hi-fi prototype for both web and mobile

8. Working prototype

9. Software architecture

10. Presentation

 

 

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!