Welcome to the Travel Cost Calculator project. This project aims to calculate the total cost of travel considering flight costs, hotel rates and currency exchange rates. It is designed to help you understand code quality, programming standards, design principles, and language syntax in Python and Java.
Here is what the current project repository contains:
- The main script
travel_cost_calculator.py
(for Python) andTravelCostCalculator.java
(for Java), which calculates the total travel cost. - These scripts read data stored in various CSV files like
hotel_rates.csv
,exchange_rates.csv
, andflight_costs.csv
located in thedata
folder.
- Code Quality: Your code should be easy to read, properly indented, have informative variable names and insightful comments. Follow the PEP8 style guide for Python and Oracle Java Code Conventions for Java.
- Code Efficiency: The code should avoid redundancy and perform the calculations in the most efficient way possible.
- Error Handling: The program should robustly handle potential errors such as missing data or invalid input.
- 'Code Smells' Resolution: Find and eliminate potential code smells, which are symptoms in the code that could indicate a deeper problem.
To run this project on a GitHub code space, instructions are already provided. If you wish to run this project locally, follow the instructions below.
You must have either Python or Java JDK installed. You can download Python from here and Java JDK from here.
python travel_cost_calculator.py
javac TravelCostCalculator.java
java TravelCostCalculator
If you do the assignment on Github code space, follow instructions we've given before, push your changes and create the PR.
If you do the project locally, we would recommend you to compress the source folder, rename it with your index number and upload it to LMS.
Your task will be evaluated on the following parameters:
- Quality of code.
- Effectiveness of improvements.
- Code standard compliance.
- Clarity and usefulness of comments.
This project is licensed under the MIT License. Refer to LICENSE.md
for more details.
The use of this project is purely for educational purposes.
The use of this project is for educational purposes. The developer of this project and all associated parties are not responsible for any damages or liabilities direct or indirect, that result from the use of this software. All information in the software, including all data, diagrams, outputs, and reports, are not guaranteed to be accurate, timely, or complete, and are provided "as is" without warranty of any kind, express or implied, including warranties of performance, merchantability, and fitness for a particular purpose.