Smart City Explorer (SCE) is a web application designed to help locals and tourists navigate Manhattan's intricate urban landscape abundant in attractions and culinary establishments. The application curates tailored itineraries by employing recommendation algorithms to enhance itinerary precision and incorporating machine learning models to gauge venue busyness, optimizing urban navigation. SCE combines data-driven insights with user preferences to offer an unparalleled experience in exploring Manhattan.
- Usage
- Technologies and Frameworks
- Project Development Flow
- Project Management
- Conclusion
- Future Work
SCE is designed for individuals eager to explore Manhattan's treasures. Users enter their travel dates, and SCE provides a comprehensive daily itinerary aligned with their interests, offering insights into estimated taxi fares and transit times.
- TypeScript: Used for its static type checking, powerful IDE support, and rich ecosystem.
- React.js: Chosen for its organized programming style, unidirectional data flow, component-based structure, strong community support, and substantial documentation.
- Material UI: Utilized for its popularity, consistent design style, availability of components, and responsiveness.
- Node.js and Express.js: Selected for familiarity, ease of interaction with TypeScript, powerful library support, straightforward syntax, and abundance of resources.
- RESTful API Design: Adopted for its readability, scalability, and standardized communication between frontend and backend.
- Data Models and Asynchronous Problem: Python and Jupyter were used for data models, with asynchronous operations handled using child processes, Promise objects, and async/await syntax.
- MySQL: Chosen for familiarity, powerful functionalities, and popularity.
- SSH Tunnel: Used for secure connections to the database server.
- Token Authentication: Implemented for securing user access to protected resources.
- Captcha Verification: Applied to ensure the validity of emails and protect against automated scripts.
The project followed an agile development approach focusing on user requirements, particularly targeting tourists. The team worked on designing modules, determining functionalities, and searching for high-quality data resources. After developing core functionalities, thorough testing was conducted to ensure stability.
The team utilized Trello for task management and Google Meet for meetings. WhatsApp polls were used for decision-making. This approach helped in streamlining workflows and fostering cooperation within the team.
The Smart City Explorer app exemplifies collaboration, innovation, and adaptability, aiming to create unique urban experiences in Manhattan. Key findings highlight the significance of personalization, real-time data integration, and social interaction. The different leads in the team played crucial roles in designing, developing, maintaining, and coordinating the project to achieve a user-friendly and innovative platform.
Several potential improvements and expansions have been identified:
- Enhanced Data Analytics: To provide deeper insights and more personalized itinerary suggestions.
- Integration with Public Transportation: For improved journey planning and resource management.
- User Contributions: Allowing users to add reviews, images, and recommendations.
- Geolocation Services: For real-time navigation aid.
- Dynamic Time Slots: Offering more flexibility in itinerary planning.
- Accessibility Features: To broaden the user base.
The project has the potential to refine and expand to provide unique solutions for urban exploration.