- 📄 Project Description
- 🎯 Motivation
- 🚀 Features
- 📅 Project Management
- 📖 Documentation
- 🛠 Technologies Used
- 📦 Installation and Configuration
- 🧪 Testing
- 📧 Contact
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:
Our motivation is to offer a clean and accessible design for the user with the possibility to interact intuitively with the application.
- 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.
- Create: Register preferences for destinations, locations, etc.
- Read: View stored preferences in a profile or settings page.
- 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.
This project was developed by a team of 5 developers using SCRUM. Tools like Jira were used for backlog management and sprint planning.
- 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.
- 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
- Clone the repository:
git clone https://github.com/helopgom/PythonTrip_front.git
- Install dependencies:
npm install
- Configure the database: Create a database in PostgreSQL.
- Run unit and integration tests:
npm test
- 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.
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:
- Install the necessary testing package:
npm install --save-dev jest
- Run the tests with coverage:
npm run test:coverage
- Generate a detailed coverage report:
npx jest --coverage
For any inquiries, you can reach out to us through our GitHub and LinkedIn profiles: