Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
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!