Coder Social home page Coder Social logo

abdullahqaisar / sehatchain Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 6.39 MB

SehatChain, an AI and Blockchain powered tool for researchers and healthcare professionals to buy models of healthcare data.

Home Page: https://sehatchain-ai.vercel.app/sehatchain

HTML 0.21% CSS 0.18% JavaScript 93.53% Python 6.08%
expressjs hacktoberfest hacktoberfest-accepted hacktoberfest2023 javascript machine-learning material-ui ml mongodb nodejs react reactjs

sehatchain's Introduction

SehatChain

SehatChain is a MERN (MongoDB, Express, React, Node.js) project that provides researchers and healthcare professionals with a platform to access and purchase healthcare data models powered by AI. It uses following technologies:

  • Frontend: React, MUI
  • Backend: Node.js with Express, Python for Machine Learning
  • Database: MongoDB

You can access the project on GitHub: SehatChain Repository

Table of Contents

Introduction

SehatChain is a comprehensive platform designed to facilitate the acquisition of healthcare data models for research and clinical use. It leverages the power of AI for data analysis and Blockchain for secure transactions. Researchers and healthcare professionals can purchase, access, and collaborate on healthcare data models for a wide range of applications.

Features

  • User Authentication: Secure registration and login system for users.
  • Browse Data Models: Easily browse available healthcare data models.
  • Purchase Models: Users can purchase the healthcare data models they need.
  • AI-Powered Analysis: Advanced AI algorithms for data analysis.
  • Blockchain Transactions: Secure and transparent transactions using Ethereum blockchain.
  • Collaboration: Share and collaborate on data models with other users.
  • Dashboard: Personalized dashboard for user activities and model management.

Getting Started

Follow the steps below to set up and run SehatChain on your local machine.

Prerequisites

Before you begin, make sure you have the following software installed on your system:

  • Node.js - JavaScript runtime environment.
  • MongoDB - A NoSQL database for storing data.
  • MetaMask - A digital wallet for Ethereum.

Installation

  1. Clone the SehatChain repository to your local machine:

    git clone https://github.com/abdullahqaisar/sehatchain.git
  2. Install dependencies for both the frontend and backend:

    # Navigate to the frontend folder and install frontend dependencies
    cd frontend
    npm install
    
    # Navigate to the backend folder and install backend dependencies
    cd ../backend
    npm install
  3. Configure the project as per the Configuration section below.

  4. Start the frontend and backend servers:

    # Start the frontend server
    cd frontend
    npm start
    
    # Start the backend server
    cd ../backend
    npm start
  5. Access the application at http://localhost:3000/sehatchain.

Configuration

Environment Variables

You'll need to set up environment variables for the project. Create a .env file in the backend directory and add the following variables:

PORT=3001
JWT_SECRET="secretkey"
MONGODB_URI=your-mongodb-uri
EMAIL_USER = ""
EMAIL_PASSWORD = ""
  • PORT: Port on which the Node.js server will run.
  • MONGODB_URI: Your MongoDB connection URI.
  • SECRET_KEY: Secret key for JWT token generation.
  • EMAIL_USER: Used for Emailing
  • EMAIL_PASSWORD: Used for Emailing

Usage

Contributing

If you'd like to contribute to the project, please follow our Contribution Guidelines.


Thank you for using SehatChain! If you have any questions or need assistance, please feel free to contact us.

sehatchain's People

Contributors

abdullahqaisar avatar abishek0057 avatar alyanquddoos111 avatar dependabot[bot] avatar educrat avatar twong17 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

twong17 jepoy92

sehatchain's Issues

Refactor Prediction Algorithms Execution from JavaScript Python Shell to Python

Overview:

Currently, our prediction algorithms are written in Python but executed within a JavaScript library called Python Shell. This approach has led to performance bottlenecks, code redundancy, and an overall suboptimal experience. To address these issues and improve the efficiency and maintainability of our project, we propose refactoring the execution of the prediction algorithms to run directly in Python.

Current Execution Method:

The prediction algorithms are written in Python and are stored in the following files:
    backend/src/script/:

Proposed Changes:

Refactor the execution of prediction algorithms to run directly in Python, eliminating the need for the JavaScript library (Python Shell).

Benefits:

Improved performance: Running the algorithms natively in Python will likely lead to enhanced performance and responsiveness.
Codebase optimization: This change will reduce code redundancy and streamline the prediction process.
Easier maintenance: The Python-based execution will simplify the codebase and make it more maintainable.

Testing:

Proper testing is essential to ensure that the refactored execution method performs as expected. We should conduct unit tests, integration tests, and performance tests to confirm that the algorithms meet our speed and efficiency requirements in the new execution environment.

Contributions and Collaboration:

We encourage contributions and collaboration on this refactoring effort. If you have insights, ideas, or suggestions for the process, please feel free to share them with the project team. Your contributions are highly valued and will help us enhance our prediction algorithms and make our project more efficient and maintainable.

Let's work together to improve the execution of the prediction algorithms and ensure the success of our project.

Frontend: Add Validation to Contact Us Form

Overview:

The contact us form on our frontend is a crucial means of communication with our users. To improve user experience and data quality, we need to add validation to this form. Specifically, we should prevent users from submitting the form with empty fields for email, name, and the message/question.

Proposed Changes:

Implement client-side validation for the contact us form.
Ensure that the email, name, and message/question fields are required, and that an error message is displayed if they are empty.

Benefits:

Improved User Experience: Adding validation prevents users from submitting incomplete forms, reducing errors and improving the overall experience.
Data Quality: By enforcing required fields, we ensure that the data we receive is complete and accurate.

Tasks for a Contributor:

This issue is suitable for contributors who want to enhance the frontend user experience:

Client-side Validation:
    Review the contact us form in the frontend code.
    Implement validation logic to ensure that the email, name, and message/question fields are required.

Display Error Messages:
    Configure the form to display informative error messages when users attempt to submit with missing information.

Guidance:

Make sure the validation messages are user-friendly and provide guidance on how to complete the form correctly.

Contributions and Collaboration:

If you have questions or need guidance while working on this issue, please feel free to ask for assistance from the project team. Your contributions to enhance the contact us form are highly valued.

Add Input Validation to Login and Signup Pages

Overview:

The login and signup pages of our application are vital components for user authentication and registration. To enhance user experience and ensure data integrity, we need to implement input validation to validate user-provided information before it is processed. This will help prevent common issues such as incorrect email formats, weak passwords, and other invalid data entries.

Proposed Changes:

Add client-side input validation to the login and signup forms.
Implement checks for email format, password strength, and any other relevant fields.
Display informative error messages to users when validation fails.
Ensure that the server-side code also validates the input to provide an additional layer of security.

Benefits:

Improved User Experience: Input validation will provide immediate feedback to users, reducing frustration due to invalid inputs.
Data Integrity: Prevent incorrect or harmful data from entering the system.
Enhanced Security: Validation helps protect against potential security threats and vulnerabilities.

Tasks for a Beginner:

This issue is beginner-friendly and provides a great opportunity to get started with our project. Here are the tasks you can work on:

**Client-side Validation:**
    Review the login and signup forms in the codebase.
    Add JavaScript validation code to these forms. You can use HTML5 attributes and JavaScript functions for this purpose.
    Implement checks for email format, password strength, and any other fields that require validation.

**Use Joi for Validation:**
    Incorporate the Joi library for input validation. You can find Joi documentation and resources [here](https://joi.dev/).

**Error Messages:**
    Customize and display informative error messages when validation fails.
    Ensure that the error messages are user-friendly and guide users on how to correct their input.

Server-side Validation (Optional):
    If you're comfortable with server-side code, consider implementing server-side validation using Joi to provide an additional layer of security.

Guidance:

Take a look at our existing codebase to understand how the login and signup forms are structured.
Utilize the Joi library to streamline the validation process and ensure that it aligns with best practices.
Test the login and signup pages thoroughly to confirm that validation works as expected.
Follow coding and naming conventions used in the project to maintain code consistency.

Contributions and Collaboration:

Feel free to ask questions and seek guidance from the project team if you encounter any issues or need assistance during the implementation. We encourage collaboration, and this issue is a great starting point for contributing to our project.

Find and Remove console.log() from Backend

Overview:

Our backend code currently includes console.log() statements, which are used for debugging and logging purposes. These statements, while helpful during development, should not be present in the production code. We need to identify and remove all instances of console.log() from our backend codebase.

Proposed Changes:

Search the backend codebase for all occurrences of console.log().
Replace or remove these statements to ensure they are not executed in the production environment.

Benefits:

Improved Code Cleanliness: Removing unnecessary console.log() statements enhances the clarity and cleanliness of our production code.
Prevents Unintended Debug Output: Removing these statements ensures that debug information is not inadvertently exposed in a production environment.

Tasks for a Contributor:

This issue is suitable for contributors who want to make a codebase more production-ready:

Identify console.log():
    Review the backend codebase to locate and list all instances of console.log().

Modify or Remove Statements:
    Replace console.log() with appropriate logging methods or remove them altogether.

Contributions and Collaboration:

If you have questions or need guidance while working on this issue, please feel free to ask for assistance from the project team. Your contributions to clean up the backend code are greatly appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.