Artifex - An ECommerce Platform for Handmade Artisan Products
- Artifex is an e-commerce platform designed for handmade artisan products, created by Mahelt Wend Afrash, Nardos Tewabe, Ruth Daniel, and Yohannes Jember, advised by Mr. Eyasu Tekle in June 2025 at St. Mary's University College, Addis Ababa.
- The project is a senior project document submitted to the Department of Computer Science, Faculty of Informatics, in partial fulfillment of the requirements for the Bachelor of Science degree in Computer Science.
- The project has been approved by the committee of examiners, with signatures from the Department Head, Advisor, Internal Examiner, and External Examiner.
- The project is certified as authentic work carried out by the students, and it has not been submitted to any other university or institute for the fulfillment of any course of study.
- The project team expresses gratitude to Mr. Eyasu Tekle for his advice and to their family, colleagues, and St. Mary University for their support.
- Acronyms used in the document:
- DIY: Do It Yourself
- IDE: Integrated Development Environment
- MVP: Minimal Viable Product
- MVC: Model-View-Controller
- MVVM: Model-View-ViewModel
- SDLC: Software Development Life Cycle
- SQL: Structured Query Language
- UI: User Interface
- 1NF: First Normal Form
- 2NF: Second Normal Form
- 3NF: Third Normal Form
- ACID: Atomicity, Consistency, Isolation, Durability
- CRUD: Create, Read, Update, Delete
- DAO: Data Access Object
- JWT: JSON Web Token
- ORM: Object-Relational Mapping
- RDBMS: Relational Database Management System
- Table of Contents includes sections such as Authentication of work, Plagiarism Agreement, Acknowledgment, Acronyms, List of Tables, List of Figures, and chapters covering Introduction, Background, Objectives, Methodology, Tools, Scope and Limitation, Significance, Feasibility Studies, Risk Management, Work Breakdown, Detailed Analysis, Current System, Proposed System, System Models, User Interface Prototyping, Design, and Conclusion.
- List of Tables includes:
- Table 1.1. Programming languages
- Table 1.2. IDEs
- Table 1.3. Frameworks
- Table 1.4. Version control
- Table 1.5. Other tools
- Table 1.6. General level work breakdown
- Table 1.7. Iteration cycles breakdown
- Table 2.1. Essential Use Case Description
- Table 2.2. Actor Description
- Table 2.3. Log In Use Case Description
- Table 2.4. Browse Product Use Case Description
- Table 2.5. View Product Details Use Case Description
- Table 2.6. Place Order Use Case Description
- Table 2.7. Make Payment Use Case Description
- Table 2.8. Rate and Review Products Use Case Description
- Table 2.9. Track Orders Use Case Description
- Table 2.10. Create/Manage Shop Use Case Description
- Table 2.11. Manage Orders/Inventory Use Case Description
- Table 2.12. View Order Use Case Description
- Table 2.13. Update Order Use Case Description
- Table 2.14. Log In Use Case Description
- Table 2.15. Update Product Use Case Description
- Table 2.16. Delete Product Use Case Description
- Table 2.17. Response To Reviews Use Case Description
- Table 2.18. View Product Analytics Use Case Description
- Table 2.19. Monitor User Activity/Accounts Use Case Description
- Table 2.20. Review Product Listings Use Case Description
- Table 2.21. Flag/Remove Inappropriate Product Use Case Description
- Table 3.1. Access Matrix Table
- List of Figures includes:
- Figure 1.1. The Iterative Model
- Figure 1.2. Work breakdown Gantt Chart
- Figure 2.1. Essential Use Case Modeling
- Figure 2.2. Buyer Deletes Order Collaboration Modeling
- Figure 2.3. Buyer Place Order Collaboration Modeling
- Figure 2.4. General Admin Use Case Diagram
- Figure 2.5. Customer Use Case Diagram
- Figure 2.6. Seller Use Case Diagram
- Figure 2.7. Content Admin Use Case Diagram
- Figure 2.8. Buyer buys a Product Sequence Diagram
- Figure 2.9. Seller Uploads a Product Sequence Diagram
- Figure 2.10. Content Admin Approves/Rejects a Product Sequence Diagram
- Figure 2.11. Customer Sends a Custom Order Request Sequence Diagram
- Figure 2.12. User Registration Sequence Diagram
- Figure 2.13. User Login Sequence Diagram
- Figure 2.14. Customer Leaves a Review Sequence Diagram
- Figure 2.15. Customer-Seller Chat for Order Inquiry Sequence Diagram
- Figure 2.16. Admin Handles Customer Complaint Sequence Diagram
- Figure 2.17. Customer Tracks Custom Order Progress Sequence Diagram
- Figure 2.18. Artifex Class Diagram
- Figure 2.19. Seller Responds to Reviews Activity Diagram
- Figure 2.20. Content Admin Monderating Listings and Tutorials Activity Diagram
- Figure 2.21. Seller Handling Order & Communication Activity Diagram
- Figure 2.22. Platform Admin Managing Accounts and Content Activity Diagram
- Figure 2.23. Customer Registration and Log In Activity Diagram
- Figure 2.24. Admin Managing Reported Content Activity Diagram
- Figure 2.25. Seller Manages Inventory/Updates Product Activity Diagram
- Figure 2.26. Customer Placing Custom Order Activity Diagram
- Figure 2.27. Custom Order Request Process State Diagram
- Figure 2.28. Order State Lifecycle State Diagram
- Figure 2.27. Seller Shop Management States State Diagram
- Figure 2.28. Artifex Core ER Diagram
- Figure 2.29. Signup Interface
- Figure 2.30. Home Page Interface
- Figure 2.31. Seller Add Product Interface
- Figure 2.32. Signup/Product Page/Profile Page for App(Android) Interface
- Figure 2.33. Admin Panel UI prototype
- Figure 3.1. MVC Model
- Figure 3.2. MVVM Model
- Figure 3.5. Artifex System Deployment Diagram
- Figure 3.6. Artifex System Database Core Structure Diagram
- Figure 3.7. Artifex System EER Diagram
- Artifex aims to bridge the gap between Ethiopian artisans and the digital marketplace, offering simple, secure market interactions, a mobile-based platform for customers, and an interactive web application for sellers.
- Craft-making is time-consuming and skill-demanding, and artisans struggle to get their creations seen by the right people. Artifex aims to solve this by providing a digital marketplace for artisans to display and sell their creations.
- Many artisans in Ethiopia rely on local markets or word-of-mouth, limiting their reach. Artifex will provide a dedicated online space where artisans can showcase their work to a larger audience.
- Customers often struggle to find skilled artisans who can craft exactly what they need. Artifex will connect talented crafters with buyers, making it easier for everyone to find and support high-quality, handmade items.
- Ethiopian artisans face challenges accessing global platforms due to high shipping costs and restricted payment options. Artifex will provide a localized solution tailored to their needs.
- General Objective: Create an online marketplace that connects hand-craft creators with potential customers, making it easier to buy and sell unique, handmade products.
- Specific Objectives:
- Identify the requirements for developing a user-friendly platform specifically for sellers to manage and showcase their products.
- Design a digital marketplace (web-based) that allows sellers to display and sell their handmade products.
- Develop a mobile app for customers, enabling them to browse and purchase handmade products from sellers.
- Implement a secure and efficient payment system for transactions between buyers (app users) and sellers (web users).
- Integrate a customer review and rating system within the app to build trust and credibility for products and sellers.
- Provide a messaging system for direct communication between customers and sellers for custom orders or inquiries.
- Implement a secure account management system on both the web and app, ensuring the privacy and security of user data.
- Conduct user testing with both sellers (web) and customers (app) to gather feedback and refine the platforms.
- Methodology:
- Data Collection: Interviews, Questionnaires, and Observation.
- System Development Process Model: Iterative Model.
- Design Pattern: MVC (Model-View-Controller) for the web portion and MVVM (Model-View-ViewModel) for the Android app.
- Programming Languages: JavaScript, HTML, CSS, SQL, and Kotlin.
- Tools: Visual Studio Code, Android Studio, Mysql Workbench, Vue.js, Express.js, Git, Github, Figma, Draw.io, and Android SDK.
- The platform does not provide delivery services; users must arrange their own.
- It is limited to Android devices and does not support iOS.
- The platform requires an internet connection and does not work offline.
- The platform will only available to Ethiopian users, excluding those outside the country.
- Users with devices that do not support Android apps or web browsers cannot access the platform.
- The Iterative Model was chosen for its flexibility and continuous improvement.
- MVC pattern was chosen for the web because it suits the nature of the project, Artifex, by providing a clean separation of concerns.
- MVVM pattern for the Android app provides a clear structure by separating the app’s data (Model), user interface (View), and the logic (ViewModel) that binds the two.