MediCare is a comprehensive medicine shopping application designed to provide users with a seamless experience in purchasing medicines and healthcare products. Built on a Spring Boot backend, this application offers a range of functionalities to cater to the diverse needs of users looking for medicinal products.
BASE IP ADDRESS :https://medicare.up.railway.app/
- User Authentication: Register new users and authenticate login credentials securely.
- Browse Medicines: Access a wide range of medicines with detailed information.
- Product Details: View comprehensive details of each medicine, including dosage, price, and availability.
- Shopping Cart: Add, update, or remove items from the cart for easy purchasing.
- Checkout Process: Secure payment gateways and order confirmation.
/api/auth/signup
- POST: Register a new user./api/auth/signin
- POST: User login to the application./api/auth/forget_password
- POST: Request to reset the password./api/auth/verify_OTP
- POST: Verify the One-Time Password (OTP) for password reset./api/auth/update_Password
- POST: Update the password after successful verification.
- POST
/api/productsAdmin/create
- Description: Add a new item to the database.
- Method:
POST
- Body:
Product
object with item details.
- POST
/api/productsAdmin/update
- Description: Update item data in the database.
- Method:
POST
- Body:
ProductRequest
object with item ID and updated details.
- POST
/api/productsAdmin/delete
- Description: Delete an item from the database.
- Method:
POST
- Body:
ProductRequest
object with item ID.
- GET
/api/productUser/getItem
- Description: Retrieve all items from the database.
- Method:
GET
- GET
/api/productUser/filterByDiscount
- Description: Filter products by a specific discount percentage.
- Method:
GET
- Parameters:
discount
(double): Discount percentage.
- GET
/api/productUser/filterProductByDiscount
- Description: Filter a particular product by a specific discount percentage.
- Method:
GET
- Parameters:
discount
(double): Discount percentage.product
(string): Name of the product.
- GET
/api/productUser/filterByCategory
- Description: Filter products by category.
- Method:
GET
- Parameters:
category
(string): Category name.
- GET
/api/productUser/filterByRangeDiscount
- Description: Filter products by a range of discount percentages.
- Method:
GET
- Parameters:
minDiscount
(double): Minimum discount percentage.maxDiscount
(double): Maximum discount percentage.
- GET
/api/productUser/filterProductByRangeDiscount
- Description: Filter a particular product by a range of discount percentages.
- Method:
GET
- Parameters:
minDiscount
(double): Minimum discount percentage.maxDiscount
(double): Maximum discount percentage.product
(string): Name of the product.
- GET
/api/productUser/filterByPopularity
- Description: Filter products by popularity (based on the number of buyers).
- Method:
GET
- GET
/api/productUser/filterProductByPopularity
- Description: Filter a particular product by popularity (based on the number of buyers).
- Method:
GET
- Parameters:
product
(string): Name of the product.
- POST
/api/order/addCart
- Description: Add an item to the cart.
- Method:
POST
- Body:
CartRequest
object with item ID, username, and quantity.
- POST
/api/order/deleteCartItem
- Description: Remove an item from the cart.
- Method:
POST
- Parameters:
cartId
(string): Cart item ID.
- POST
/api/order/increaseItemInCart
- Description: Increase the quantity of an item in the cart.
- Method:
POST
- Parameters:
cartId
(string): Cart item ID.increment
(int): Quantity to increment.
- POST
/api/order/decreaseItemInCart
- Description: Decrease the quantity of an item in the cart.
- Method:
POST
- Parameters:
cartId
(string): Cart item ID.decrement
(int): Quantity to decrement.
- GET
/api/order/cart
- Description: Retrieve cart items for a specific user.
- Method:
GET
- Parameters:
username
(string): Username to fetch cart items.
- POST
/api/order/buy
- Description: Buy a product and create an order.
- Method:
POST
- Body:
OrderRequest
object with item ID, quantity, user details, and order information.
- Token-based authentication ensuring secure user access.
- Consistent error handling for invalid requests and security breaches.
- Utilization of appropriate HTTP status codes for error responses.
- Clear and descriptive error messages for enhanced user understanding.
- Spring Boot: Backend framework for robust application development.
- Java: Primary programming language for implementing backend logic.
- RESTful APIs: Architecture for communication between client and server.
- MongoDB: No SQL Database management systems for data storage.
- Spring Security: Implementation of security features and authentication.
- Clone Repository: Clone the repository from GitHub.
- Configure Database: Set up a MongoDB database and configure database properties in
application.properties
. - Run Application: Use Maven to build and run the Spring Boot application.
- Access Endpoints: Utilize the provided endpoints for various functionalities.
- Register/Login: Create a new account or log in using existing credentials.
- Browse Medicines: Explore available medicines and view details.
- Add to Cart: Select desired medicines and add them to the cart.
- Checkout: Complete the purchase process by placing an order securely.
Contributions are most welcome! If you'd like to contribute to the project, please fork the repository and create a pull request.