Skip to content

lucasbbs/Assignment-T1-TP1

Repository files navigation

Software System for Free Guided Walking Tours

Static Badge Static Badge

Introduction

  • The practical work described here is part of a course on programming techniques that I took in 2022.
  • Throughout the course, we focused on mastering object-oriented programming (OOP) principles and applying them to real-world software development projects.
  • This particular project required us to develop a software system for providing free guided walking tour services, inspired by platforms like guruwalk.com, freetour.com, and freewalkertours.com.

Functional Requirements

  • The software system to be developed will enable the provision of free guided walking tour services.
  • Users can list available tours, access tour data, sessions, and reviews, as well as register an account.
  • Once registered, users can authenticate their accounts and access various services, such as editing or unsubscribing their accounts, registering tours, sessions, or reviews, and more.

Non-Functional Requirements

  • The project also includes non-functional requirements that focus on the architectural design and implementation details of the software system.
  • We were instructed to adopt a layered architecture style, with separate presentation and service layers.
  • Additionally, we were required to implement the system using the C++ programming language and provide compatibility with the Code::Blocks development environment.

Domains

  • CITY: Hong Kong, Bangkok, Macau, Singapore, London, Paris, Dubai, Delhi, Istanbul, Kuala Lumpur, New York, Antalya, Mumbai, Shenzhen, Phuket
  • CODE: Format DDDDDDX, where D is a digit (0-9) and X is a check digit.
  • DATE: Format DD-MMM-YYYY, where DD is from 01 to 31, MMM is Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, and YYYY is from 2000 to 9999.
  • DESCRIPTION: From 0 to 30 characters, without consecutive white spaces and without consecutive dots (.).
  • DURATION: 30, 60, 90, 120, or 180 minutes.
  • EMAIL: Format local-part@domain, with the local-part consisting of up to 64 characters and the domain consisting of up to 253 characters.
  • ADDRESS: From 0 to 20 characters, without consecutive white spaces and without consecutive dots (.).
  • TIME: Format HH:MM, where HH is from 00 to 23 and MM is from 00 to 59.
  • LANGUAGE: English, Mandarin Chinese, Hindi, Spanish, French, Arabic, Bengali, Russian, Portuguese, Indonesian.
  • NAME: From 5 to 20 characters, with each character being a letter (A-Z or a-z), dot (.), or whitespace, and with the first letter of each term being uppercase.
  • RATING: From 0 to 5.
  • PASSWORD: Format XXXXXX, with each X being a letter (A-Z or a-z) or digit (0-9), without repeated characters, and containing at least one uppercase letter, one lowercase letter, and one digit.
  • TITLE: From 5 to 20 letters (A-Z or a-z), without consecutive white spaces and without consecutive dots (.).

Activities to Be Performed

  • Throughout the project, we were tasked with various activities, including encoding classes for each domain and entity, executing unit tests for validation, documenting classes using HTML format, and more.
  • These activities aimed to reinforce our understanding of OOP principles and ensure the quality and correctness of the software system.

Requirements to Be Fulfilled

  • To successfully complete the project, we needed to fulfill several requirements, including individual or team participation, adherence to coding standards, providing both source code and executable code, documenting classes comprehensively, and submitting all artifacts within the specified deadline.

  • Contact

Lucas Braga

Static Badge Static Badge Static Badge Static Badge

📕 License

📕 License

Initially Released in 2022

Made with ❤️ by Lucas Braga 🚀. This project is under the MIT license.

About

Programming Techniques 1 - Assignment 1. UnB 2021.2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published