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:
Productobject with item details.
- POST
/api/productsAdmin/update- Description: Update item data in the database.
- Method:
POST - Body:
ProductRequestobject with item ID and updated details.
- POST
/api/productsAdmin/delete- Description: Delete an item from the database.
- Method:
POST - Body:
ProductRequestobject 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:
CartRequestobject 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:
OrderRequestobject 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.