Agile Star Squad Pharmacy

Table of Contents

  1. Description.
  2. Features.
  3. Usage.
  4. Contribution.
  5. Credits.

Description

1. Project summary:

The Pharmacy Website is a comprehensive web application designed for both pharmacists and customers. This website provides a user-friendly interface for users to explore, order medications, view available pharmaceutical products, and access detailed information about various drugs and their uses. Whether you're a customer seeking medical supplies or a pharmacist looking to streamline your services, this website is your ultimate platform for efficient pharmaceutical management and access.

2. Technologies used:

  • React: This project uses React, a JavaScript library for building user interfaces. React's component-based architecture makes it easy to create complex UIs from small, reusable pieces of code. It also provides a virtual DOM to optimize rendering and improve app performance.

  • Node.js and Express: The backend of this project is built with Node.js, a JavaScript runtime that allows for server-side scripting. Express, a web application framework for Node.js, is used to build the web server and handle HTTP requests.

  • MongoDB and Mongoose: MongoDB, a NoSQL database, is used to store data in a flexible, JSON-like format. Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. It provides a straightforward, schema-based solution to model application data.

  • JWT for Authentication: JSON Web Tokens (JWT) are used for securely transmitting information between parties as a JSON object. In this project, JWT is used for handling user authentication and protecting routes.

  • Bootstrap and CSS: Bootstrap, a popular CSS framework, is used for designing responsive and mobile-first web pages. Custom CSS is also used for additional styling and layout design.

  • Material-UI (MUI): This project uses Material-UI, a popular React UI framework that implements Google's Material Design. It provides a set of pre-built React components that follow the best practices of user interface design. With MUI, you can build robust, consistent, and beautiful user interfaces with less effort.

Features

1. Product Management:

  • Browse through a wide range of pharmaceutical products.
  • Detailed view of each product.
  • Update product information as needed.

2. Order Placement:

  • Customers can place orders for their required medications.
  • View and manage current and past orders.

3. Pharmacist Directory:

  • View a list of all available pharmacists.
  • Access detailed profiles of pharmacists, including their specialization and experience.

4. Prescription Management:

  • Upload and manage digital prescriptions.
  • Pharmacists can view and verify prescriptions.

5. User Authentication:

  • Secure login system for customers and pharmacists.
  • Role-based access control to protect sensitive information.

How to Use the Website

  1. Home Page: Upon visiting the website, you'll land on the home page. Here, you can learn more about the pharmacy and the products it offers.

  2. Registration: If you're a new user, navigate to the "Register" page to create an account. You'll need to provide some basic information like your name, email address, and password.

  3. Login: If you already have an account, click on the "Login" button on the top right of the page. Enter your email address and password to log in.

  4. Ordering Medications: Once logged in, you can order medications by navigating to the "Order Medications" page. Select a product, choose a quantity, and click "Order Now".

  5. Viewing Orders: To view your current and past orders, go to the "My Orders" page. Here, you can also track the status of your orders.

  6. Prescription Management: If you're a patient, you can upload and manage your digital prescriptions by going to the "My Prescriptions" page. Here, you can also view the status of your prescriptions.

Contribution and Installation Guidelines

If you're a developer interested in contributing to the project, you can install it locally and make contributions by following these steps:

  1. Fork the repository.
  2. Clone your forked repository to your local machine.
  3. Open two terminals.
  4. In the first terminal, navigate to the backend directory of the project by running cd backend. This is where the backend code resides.
  5. Run npm install to install the necessary backend dependencies.
  6. Run npm start to start the backend server.
  7. In the second terminal, navigate to the frontend directory of the project by running cd frontend. This is where the frontend code resides.
  8. Run npm install to install the necessary frontend dependencies.
  9. Run npm start to start the frontend development server.
  10. Create a new branch for your changes.
  11. Make your changes in your branch.
  12. Submit a pull request with a detailed description of your changes.

We welcome contributions from the community. Please ensure that your pull request provides a detailed description of the changes you propose.

Credits

Youssef Hossam Kareem El Kadery Habiba El Kabbany Assem Mohamed Mariam Emad
Ahmed Lasheen Ahmed Lasheen Ahmed Lasheen Ahmed Lasheen Ahmed Lasheen