Online Book Store Contents 1. Introduction ............................................................................................................................................... 2 1.1. Objectives ..................................................................................................................................... 2 1.2. Scop............................................................................................................................................... 3 2. Requirement Specification ........................................................................................................................ 3 2.1. Functional requirements..................................................................................................................... 4 2.2. Non functional requirements .............................................................................................................. 5 3. Analysis result....................................................................................................................................... 5 3.1. Use Case Diagram.......................................................................................................................... 6 Actors .................................................................................................................................................... 6 3.2. user stories ................................................................................................................................ 9 3. Design ..................................................................................................................................................... 10 3.1. Content modeling ............................................................................................................................. 10 3.2. Navigation Modeling ....................................................................................................................... 16 3.3. Presentation Modeling ................................................................................................................ 17 3.4. Conceptul archetecture................................................................................................................ 17 Data Modeling - Conceptual Data Model ........................................................................................... 18 Logical Data Model - .......................................................................................................................... 19 Physical Data Model - ......................................................................................................................... 21 Component Diagrams ......................................................................................................................... 23 Deployment Diagram .......................................................................................................................... 24 4. Conclusion .......................................................................................................................................... 24 1. Introduction In recent years, the market for online bookstores has grown significantly, driven by the convenience of shopping from home, the wide selection of books available, and competitive pricing. However, to succeed in this competitive market, online bookstores need to offer more than just shopping. They need to provide additional features and services that can differentiate them from competitors and provide a more engaging and personalized experience for customers. In this proposal, we will explore some of the possible features and services that an online bookstore can offer to customers, including book reviews, shopping cart management, account management, wishlists, recommendations, book clubs, author events, and educational resources. By providing these additional services, online bookstores can attract and retain customers, increase sales, and build a loyal customer base. To develop the web application for the online bookstore, we will use a modern technology stack that includes a front-end framework such as React or Angular, a back-end framework such as Node.js or Django, and a database such as MongoDB or PostgreSQL. We will also use cloud hosting services such as AWS or Google Cloud Platform to ensure scalability, reliability, and security. By leveraging these technologies, we can build a robust and scalable web application that can handle a large number of users and provide a seamless and responsive user experience. 1.1. Objectives The proposed an online bookstore web application will focused on providing a high quality, convenient, and personalized experience for customers, while also driving business growth and profitability. 1) To provide a user-friendly and intuitive interface that allows customers to easily browse and purchase books. 2) To offer a wide selection of books, including new releases, bestsellers, and hard-tofind titles. 3) To offer customer reviews and recommendations to help customers make informed decisions about which books to purchase. 4) To offer convenient and flexible delivery options, including home delivery and in-store pickup. 5) To provide excellent customer service, including responsive support and easy returns and exchanges. 6) To provide competitive pricing and discounts to attract and retain customers. 7) To provide a secure and reliable platform for online transactions, including secure payment processing and data encryption. 8) To leverage data analytics and customer insights to improve the customer experience and drive business growth. 1.2. Scop The scope of a web application for an online bookstore would include the following: 2. 3. 4. 5. 6. 7. 8. 9. User registration and login: The web application should allow new customers to register for an account and existing customers to log in using their account ID and password. Book catalog: The web application should provide a searchable catalog of books, including information such as title, author, ISBN, category, and price. Book details: The web application should allow customers to view detailed information about each book, including a description, reviews, and recommendations. Shopping cart: The web application should allow customers to add books to a shopping cart, view the contents of their cart, and proceed to checkout. Checkout and payment: The web application should provide a secure and easyto-use checkout process, including payment processing and order confirmation. Order tracking: The web application should allow customers to track the status of their orders, including shipping and delivery information. Customer service: The web application should provide easy access to customer service, including support for returns and exchanges. Analytics and insights: The web application should leverage data analytics and customer insights to improve the customer experience and drive business growth. 2. Requirement Specification Overall, an online bookstore can offer a wide range of features and services to customers beyond just shopping. By providing additional value-added services, an online bookstore can differentiate itself from competitors and provide a more engaging and personalized experience for customers. 2.1. Functional requirements 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Registration: New customers must register to create an account with the bookstore. The registration process should require the customer to provide their name, phone number, email address, home address, and password. The system should assign a unique account ID to each customer upon registration. Login: Customers should be able to log in to their account using their account ID and password. Account management: Customers can manage their account information, including updating their personal details, viewing their order history, and tracking the status of their orders. Book browsing: Customers should be able to browse the bookstore's inventory of books. The system should display information about each book, including its ISBN, authors' names, title, edition, publication year, category, publisher, quantity-instock, selling price, and abstract or book reviews. Book reviews: Customers can read book reviews or abstracts of the book to help them make informed purchasing decisions. Search functionality: The system could include a search bar that allows customers to search for books by title, author, category, or other criteria. Recommendations: The system could provide book recommendations to customers based on their browsing and purchase history. Shopping cart: Customers should be able to add books to their shopping cart. Each customer can have multiple shopping carts, but each shopping cart should belong to only one customer. The system should record the cart ID, name, date created, date last updated, and books contained in each shopping cart. Order placement: Customers should be able to place orders for the books in their shopping cart. For each order, the system should record the customer who placed the order, the order status, total price, shipping address, payment method, billing address, and ordered books. Discounts and promotions: The system could offer discounts or promotions to customers based on their purchase history or other criteria. Payment processing: The system should accept credit card payments from customers. It should record credit card information for each order. Wishlists: Customers could create wishlists of books they are interested in purchasing in the future. Ratings and reviews: Customers could rate and review books they have purchased, which could help other customers make informed decisions about which books to buy. Shipping options: The system could offer different shipping options to customers, such as standard shipping, expedited shipping, or international shipping. Returns and refunds: The system could provide a process for customers to return or exchange books they are not satisfied with, and issue refunds if necessary. Customer support: The system could provide customer support through a chatbot, email, or phone, to help customers with any issues they may encounter while using the online bookstore. Book clubs: Customers can join book clubs or discussion groups to connect with 18. 19. other readers and discuss books. Author events: Customers can participate in author events, such as book signings or online Q&A sessions. Educational resources: Customers can access educational resources, such as book summaries, study guides, or online courses. 2.2. Non functional requirements 1. 2. 3. 4. 5. 6. Performance: The web application should be able to handle a large number of concurrent users and transactions without significant slowdowns or crashes. Response times for common actions such as browsing books, adding items to the shopping cart, and placing orders should be fast and consistent. Security: The web application should be secure and protect user data from unauthorized access, modification, or theft. This includes using encryption for sensitive data such as passwords and credit card information, implementing secure authentication and authorization mechanisms, and following best practices for web application security. Usability: The web application should be easy to use and navigate, with clear and intuitive interfaces for common actions such as browsing books, adding items to the shopping cart, and placing orders. The application should also be accessible to users with disabilities, following relevant accessibility guidelines and standards. Reliability: The web application should be reliable and available at all times, with minimal downtime or disruptions. This includes implementing backup and recovery mechanisms in case of hardware or software failures, and monitoring the application for errors or issues. Compatibility: The web application should be compatible with a wide range of devices, browsers, and operating systems, to ensure that users can access the application from their preferred platform. This includes following relevant web standards and guidelines, and testing the application on a variety of devices and configurations. Scalability: The web application should be able to scale up or down as needed to handle changes in user traffic or transaction volume. This includes using scalable infrastructure such as cloud computing services, and designing the application to be modular and easily extensible. 3. Analysis result New customers need to register first to get an account ID. The customer needs to provide the following information to the store: customer name, phone number, email address, home address info (street, city, state and zip code), and password. After registration, the customer will be assigned a unique account ID and he/she can login using the account ID and password. One customer can only register one account and each account must belong to exact one customer. The bookstore keeps a large amount of books. Each book is identified by its ISBN. For each book, the bookstore also needs to record its authors’ names, title, edition, publication year, category, publisher, quantity-in-stock, selling price and abstract of the book or book reviews. Customers can read book reviews or abstract of the book. One customer can place any number of orders. For each order, the bookstore needs to record who places this order, when, the order status, total price, shipping address, payment method, bill address, and ordered books. Note there is only one shipping address and one billing address for each order though the shipping address may not be the same as the billing address. Currently for payment method, it only accepts credit card, hence the bookstore needs to record credit card information. Customers can also manage their shopping carts. One customer can have any number of shopping carts. However, each shopping cart has exactly one customer. The shopping cart contains the following info: cart-ID, name, date-created, date-last-updated, books contained in this shopping cart, etc. The bookstore also has a number of employees which are identified by employee ID. The bookstore also needs to record employee’s name, address, salary. Some employees are ranked as manager. To better serve customers, each order will be assigned to one employee who will monitor and handle the order. If an order has a total amount of more than 10,000 Etb, a manager should be assigned to handle it. 3.1. Use Case Diagram Actors 1. Customer: A person who wants to purchase books from the online bookstore. They can register for an account, log in, browse books, add books to their shopping cart, place orders, read book reviews, rate and review books, and manage their account settings. 2. Administrator: A person who has administrative privileges for the online bookstore. They can manage employee information, generate reports, and perform other administrative tasks as needed. 3. Employee: A person who works for the online bookstore. They can handle orders, manage employee information, and generate reports. Some employees are ranked as managers and are responsible for handling orders with a total amount of more than $1,000. 3.2. user stories 1. Register as a new customer: A user wants to create an account with the online bookstore. They provide their name, phone number, email address, home address, and password. The system assigns a unique account ID to the user. 2. Log in to the system: A customer wants to log in to their account. They enter their account ID and password. The system verifies the credentials and logs the customer in. 3. Browse books: A customer wants to browse the bookstore's inventory of books. They search for books by title, author, category, or other criteria. The system displays a list of books that match the search criteria. 4. Add books to shopping cart: A customer wants to purchase books. They add books to their shopping cart. The system records the cart ID, name, date created, date last updated, and books contained in the shopping cart. 5. Place an order: A customer wants to place an order for the books in their shopping cart. They provide their shipping address, payment method, billing address, and credit card information. The system records the customer who placed the order, the order status, total price, and ordered books. 6. Handle an order: An employee wants to handle an order. They are assigned an order to monitor and handle. They update the order status as needed. 7. Read book reviews: A customer wants to read book reviews or abstracts of the book. They search for a book and click on the book to view its details. The system displays the book's abstract or reviews. 8. Rate and review a book: A customer wants to rate and review a book they have purchased. They navigate to the book's details page and provide a rating and review. 9. Contact customer support: A customer encounters an issue while using the online bookstore. They contact customer support through a chatbot, email, or phone. The system provides assistance to resolve the issue. 10. Update customer information: A customer wants to update their personal information, such as their name, phone number, email address, or home address. They navigate to their account settings and make the necessary changes. The system updates the customer's information. 11. View order history: A customer wants to view their order history. They navigate to their account settings and select the option to view their order history. The system displays a list of their past orders. 12. Cancel an order: A customer wants to cancel an order they have placed. They navigate to their order history and select the option to cancel the order. The system updates the order status and issues a refund if necessary. 13. Manage shopping carts: A customer wants to manage their shopping carts. They navigate to their account settings and select the option to manage their shopping carts. The system displays a list of their shopping carts and allows them to add or remove books as needed. 14. Manage employee information: An administrator wants to manage employee information. They navigate to the employee management section of the system and add, edit, or delete employee information as needed. 15. Generate reports: An administrator wants to generate reports on sales, inventory, or other metrics. They navigate to the reporting section of the system and select the desired report. The system generates the report and displays the results. 3. Design 3.1. Content modeling 1. User: This class represents the users of the web application. It may include attributes such as name, email address, password, and account status. 2. Book: This class represents the books that are available for purchase on the web application. It may include attributes such as title, author, ISBN, publisher, publication year, category, price, and quantity in stock. 3. Order: This class represents the orders that customers place on the web application. It may include attributes such as order ID, customer ID, order date, order status, total price, shipping address, billing address, and payment method. 4. Shopping Cart: This class represents the shopping carts that customers use to store books they want to purchase. It may include attributes such as cart ID, customer ID, cart creation date, cart last updated date, and books contained in the cart. 5. Review: This class represents the reviews that customers can write for books on the web application. It may include attributes such as review ID, book ID, customer ID, review text, and review rating. 6. Employee: This class represents the employees who work for the web application. It may include attributes such as employee ID, name, address, salary, and job title. 7. Manager: This class represents the managers who work for the web application. It may include attributes such as manager ID, name, address, salary, and job title. Figure 1: Statechart Diagram Figure 2: Statechart Diagram Figure 3: Statechart Diagram Figure 4 Statechart Diagram Figure 5 Statechart Diagram Figure 6 Statechart Diagram Figure 7 Statechart Diagram 3.2. Navigation Modeling 3.3. Presentation Modeling 3.4. Conceptul archetecture The conceptual architecture section should include the following points: 1. System components: The conceptual architecture should describe the main components of the system, such as the user interface, business logic, and data storage layers. It should also describe how these components interact with each other to support the key operations of the system. 2. System interfaces: The conceptual architecture should describe the interfaces between the system components, such as the APIs or protocols used to communicate between the user interface and business logic layers, or between the business logic and data storage layers. 3. System deployment: The conceptual architecture should describe how the system will be deployed and hosted, such as on-premises or in the cloud. It should also describe any relevant infrastructure components, such as servers, databases, or load balancers. 4. System scalability: The conceptual architecture should describe how the system will be designed to scale up or down as needed to handle changes in user traffic or transaction volume. This may include using scalable infrastructure such as cloud computing services, or designing the system to be modular and easily extensible. 5. System security: The conceptual architecture should describe how the system will be secured and protected from unauthorized access or theft. This may include using encryption for sensitive data such as passwords and credit card information, implementing secure authentication and authorization mechanisms, and following best practices for web application security. 6. System performance: The conceptual architecture should describe how the system will be designed to meet performance requirements, such as response times for common actions such as browsing books, adding items to the shopping cart, and placing orders. This may include using caching mechanisms, optimizing database queries, or using load balancing and clustering techniques. Overall, the conceptual architecture section should provide a high-level overview of the system architecture and design, and should serve as a basis for the detailed design and implementation of the system. Data Modeling - Conceptual Data Model Logical Data Model - Physical Data Model - Component Diagrams Deployment Diagram 4. Conclusion An online bookstore can be a viable business opportunity due to several factors. These factors include the growing market for online bookstores, the convenience of shopping from home, the wide selection of books available, competitive pricing, and the ability to personalize the shopping experience for customers. In addition to shopping, an online bookstore can offer a range of features and services to customers, such as book reviews, shopping cart management, account management, wishlists, recommendations, book clubs, author events, and educational resources. By providing these additional services, an online bookstore can differentiate itself from competitors and provide a more engaging and personalized experience for customers. Overall, an online bookstore can be a profitable and rewarding business opportunity for entrepreneurs who are passionate about books and technology.