Skip to content

Repository files navigation

📚 PythonTrip

Table of Contents

📄 Project Description

PythonTrip is a mobile travel recommendation application that allows users to select itineraries based on suggestions provided by the app and generate personalized itineraries. Users will be able to create and manage collections of their favorite places, view:

🎯 Motivation

Our motivation is to offer a clean and accessible design for the user with the possibility to interact intuitively with the application.

🚀 Features

PythonTrip Users (CRUD Operations)

  • Create: Register new users in the application.
  • Read: Search and browse itineraries by different criteria.
  • Validation: Ensure there are no duplicates in the itineraries by using appropriate validations.

User Preferences (CRUD Operations)

  • Create: Register preferences for destinations, locations, etc.
  • Read: View stored preferences in a profile or settings page.

User Management (CRUD Operations)

  • Create: Register new users in the application.
  • Read: The system may use these preferences to suggest itineraries and locations.
  • Update: The system updates the user's data.
  • Delete: Remove users from the system.
  • Validation: Ensure no duplicate users by using appropriate validations.

📅 Project Management

This project was developed by a team of 5 developers using SCRUM. Tools like Jira were used for backlog management and sprint planning.

📖 Documentation

  • Algorithm Flowchart: A flowchart illustrating the main algorithms implemented in the project.
  • Data Model: A diagram showing the key entities of the system and their relationships, available on DrawSQL.

🛠 Technologies Used

  • Language: Python (v3.12.4)
  • Database: PostgreSQL (v16.2)
  • Testing: Jest (v29.7)
  • Version Control: Git (v2.45.2) with GitFlow
  • Agile Methodologies: SCRUM
  • IDE: Visual Studio Code
  • Frameworks: React
  • Design Tool: Figma

📦 Installation and Configuration

  1. Clone the repository:
    git clone https://github.com/helopgom/PythonTrip_front.git
  2. Install dependencies:
    npm install
  3. Configure the database: Create a database in PostgreSQL.

🧪 Testing

  • Run unit and integration tests:
    npm test

Tests Performed

  • Unit Tests: Verify the functionality of individual components, ensuring that each function and method works as intended.
  • Integration Tests: Ensure that different modules and components work together seamlessly.

Code Coverage

The test suite has achieved a code coverage of over 80%, meeting the project requirements. This level of coverage ensures that the majority of the codebase is well-tested, reducing the risk of bugs and ensuring the reliability of core functionalities.

To check the code coverage yourself, follow these steps:

  1. Install the necessary testing package:
    npm install --save-dev jest
  2. Run the tests with coverage:
    npm run test:coverage
  3. Generate a detailed coverage report:
    npx jest --coverage

📧 Contact

For any inquiries, you can reach out to us through our GitHub and LinkedIn profiles:

  • GitHub Octocat LinkedIn Leire
  • GitHub Octocat LinkedIn Adriana
  • GitHub Octocat LinkedIn Lynn (Scrum Master)
  • GitHub Octocat LinkedIn Belén (Product Owner)
  • GitHub Octocat LinkedIn Helena

😊 If you've made it this far, feel free to follow us on GitHub or LinkedIn. We'd love to be in touch!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages