- Overview
- Key Features
- Dependencies
- Cloning the Repository
- Compiling and Running
- Group's Report
- Conclusion
- Developed by
This project, undertaken during the second semester of the second year of the Software Engineering degree at the University of Minho as part of the Programação Orientada a Objetos (POO) subject, revolves around the development of a system for managing vintage marketplace operations. The aim is to create a robust and efficient platform that facilitates the buying and selling of various types of new and used items, akin to a vintage marketplace.
For a detailed description of the project's requirements, design, and implementation, please refer to the Project Report.
-
User Authentication and Authorization:
Implementing a system for users to register, log in, and manage their accounts securely. -
Item Management:
Providing functionalities for sellers to add, update, and remove items for sale, as well as allowing buyers to browse and search for items. -
Order Processing and Fulfillment:
Enabling users to create orders, track order status, and manage the fulfillment process, including shipping and delivery. -
Payment Processing:
Integrating payment gateways to facilitate secure transactions between buyers and sellers. -
Inventory Management:
Maintaining accurate inventory records, updating stock levels upon purchase, and generating alerts for low stock items. -
Administrative Tools:
Equipping administrators with tools to manage users, monitor transactions, generate reports, and perform analytics on marketplace performance. -
Object-Oriented Design:
Demonstrating proficiency in applying object-oriented principles such as encapsulation, inheritance, polymorphism, and abstraction in the design and implementation of the software solution. -
Scalability and Maintainability:
Designing the system to be scalable and easily maintainable, allowing for future expansion and enhancements as the marketplace grows. -
Error Handling and Validation:
Implementing robust error handling mechanisms and input validation to ensure data integrity and system reliability. -
Persistence and Data Management:
Utilizing databases or other storage mechanisms to persist data, manage relationships between entities, and ensure data consistency. -
User Interface Design:
Creating an intuitive and user-friendly interface for both sellers and buyers to interact with the marketplace platform effectively.
If you're using a Java-friendly IDE like IntelliJ IDEA, there are no external dependencies to worry about. However, if you're working with a different IDE or manually compiling the project, you may need to resolve dependencies manually.
To clone the repository, run the following command in your terminal:
$ git clone https://github.com/JoaoCoelho2003/POO.git
Once cloned, navigate to the repository directory using the cd command:
$ cd POO
To compile and run the project, follow these steps:
-
Navigate to the
src
directory of the project. -
Open the
Main.java
file in your Java-friendly IDE (e.g., IntelliJ IDEA). -
Before running the program, ensure that you add the path to the
log.txt
file (inside thesaves
folder) as an argument. This file is used to import data into the program, so the marketplace doesn't start empty for testing purposes. -
Press the "run" function in your IDE to execute the program.
Our group has prepared a comprehensive report that provides a detailed explanation of the developed project, including all the decisions made during the design and implementation phases. This report covers various aspects of the project, such as system architecture, object-oriented design principles, and implementation details. It serves as a valuable resource for understanding the project's objectives, methodologies, and outcomes.
We trust that exploring this project in object-oriented programming has been both enlightening and fulfilling for you. If you have any inquiries, recommendations, or feedback, please feel free to get in touch. Keep exploring, learning, and enhancing your skills! Happy coding!
A100596 João Coelho
A100692 José Rodrigues
A100750 Duarte Araújo