- Inventory Management: Add, update, and delete products from the inventory.
- Order Management: Add, update, and delete orders.
- Company Management: Add, update, and delete company data.
- Product Category Management: Add, update, and delete category data.
- Customer Management: Add, update, and delete customer data.
- Dashboard: View sales and inventory statistics.
- React: JavaScript library for building interactive single-page applications.
- SCSS/Sass: CSS preprocessor for advanced styling with features like variables and nesting.
- Vite: Fast frontend build tool with instant hot module replacement.
- Axios: HTTP client for API requests.
- Chart.js & react-chartjs-2: Libraries for creating interactive charts.
- html2canvas & jspdf: Generate PDFs from web pages for downloading reports.
- React Hot Toast: Customizable notifications for React apps.
- React Icons: Popular icon sets for React projects.
- Redux & React Redux: State management libraries for efficient app state handling.
- React Router Dom: Enables dynamic routing without page refreshes.
- FontAwesome: Icon toolkit for adding vector icons and logos.
- Spring Boot: Framework for rapid Spring app development with built-in configurations.
- Spring Boot DevTools: Enhances development with fast restarts and live reloads.
- Spring Boot Starter Test: Supports testing with libraries like JUnit and Mockito.
- Spring Boot Starter Data JPA: Simplifies data access layers using JPA.
- Spring Boot Starter Security: Provides authentication and authorization for Spring apps.
- Spring Boot Starter Validation: Enables validation with Java Bean Validation APIs.
- MySQL Connector/J: JDBC driver for MySQL database connections.
- Lombok: Automates code generation for Java, such as getters and equals methods.
- JWT: Securely transmits information between parties using JSON Web Tokens.
- Spring Boot Starter Actuator: Adds production-ready monitoring and management features.
- AWS Java SDK for S3: Interacts with Amazon S3 for file management.
- Jakarta XML Bind API & JAXB Runtime: Converts Java objects to XML and vice versa.
- Clone the repository
git clone https://github.com/charangajjala/medEase_portal.git
- Navigate to the project directory
- Install the required dependencies
npm install
- Start the development server
npm run dev
- By default the application opens at the port 5173 but it can be altered in the
vite.config.js
file. If the port is changed, the backend URL in the./backend/src/main/java/com/chapp/med_ease/config/WebConfig.java
file should also be updated by changing theallowedOrigins
value. - After initiating the frontend side, we should also start the backend server. The backend server is a Spring Boot application and can be started by running the
MedEaseApplication.java
file in the./backend/src/main/java/com/chapp/med_ease
directory. - By default frontend application uses the default backend URL
http://localhost:8080
but it can be altered in the./frontend/src/api/axios.jsx
file. - After a successful build, we need to make sure the database is up and running. The database schema is provided in the
./backend/src/main/resources
directory. The database configuration can be altered in the./backend/src/main/resources/application.properties
file.
The application is designed to be user-friendly and intuitive. Both the admin and user have a common login page. The admin credentials can be added to the database manually. The admin has access to all the features of the application which includes
- Inventory Management
- Order Management
- Company Management
- Product Category Management
- Statistics of the sales and inventory
The user has access to the shopping page where they can perform operations like
- Viewing products
- Adding products to the cart
- Placing orders
- Viewing order history
- Viewing seller and company details (Under development)
- Searching for products
- Viewing product categories
- Adding and updating customer details
Other features like loading animations and notifications are also included in the application. Most of the features are self-explanatory and application is desgned to be user-friendly.
Apart from this the application is made responsive and can be accessed from any device. But it is recommended to use the application on a desktop for a better experience. The applicatioon is also designed to be secure and the user data is encrypted and stored in the database. The application is also designed to be scalable and can be easily extended to include more features.
This schema is designed to include the seller feature which is under development. This is getting carried on as a part of the future work. Currently the application has the admin and user features.
The application currently uses Role based login and JWT for authentication. The application has two types of users
- ADMIN
- USER
- SELLER (Under development)
The application has a common login page for both the admin and user. The admin and user have different dashboards and features.
Upon login the admin is redirected to the admin dashboard where they can view the statistics of the sales and inventory. The admin can then navigate to the required location using the sidebar.
Upon login the user is redirected to the shopping page where they can perform user related operations.
The current version of the application is designed to lean towards the admin and user features. The seller feature is under development and is planned to be included in the future versions. The seller feature is designed to include the following features
- Seller Management
- Seller Dashboard
- Seller Inventory Management
- Seller Order Management
- Seller Statistics
Apart from this the application is also planned to be extended to include the following features
- Payment Gateway Integration
Charan Gajjala Chenchu |
Prem Jampuram |
This project is licensed under the MIT License - see the LICENSE file for details.
If you wish to contribute to the project or have any queries, please contact us at Prem, Charan.