Coder Social home page Coder Social logo

ayushma_fe's Introduction

Ayushma Logo

Ayushma is a digital AI health and nursing assistant to help Nurses and Doctors in the most remote parts of the world. It is a part of the Open Health Care Network


Auto deployed to ayushma.ohc.network for production branch. All pull requests have preview builds powered by Vercel.

Getting started

  • πŸ’¬ Comment on the issue if you are willing to take it up, and link the pull request with the issue.
  • πŸ“Έ Attach screenshots in the pull requests showing the changes made in the UI.

Install the required dependencies

pnpm i

πŸƒ Run the app in development mode

pnpm dev

Once the development server has started, open localhost:3000 in your browser. The page will be automatically reloaded when you make edits and save. You will also see any lint errors in the console.

πŸ”‘ Staging API Credentials

Authenticate to staging API with the following credentials

- email: [email protected]
  password: Demo@Ayu

You can also register as a new user.

🏷️ Make use of labels to update the PR/issue status

  • Mark your PRs as work-in-progress if it's still being worked on.
  • Once you have solved the related issue, mark your PR with need testing and need review labels.
  • When you’re making a PR with lots of code changes that affects multiple functionalities, or is likely to break, make sure you tag it with Major Code Change label.

πŸ“– Documentations

πŸ’Ž Backend

Ayushma's backend is built on Django. You can find documentation on the Backend Repository

πŸš€ Production

Build the app for production

pnpm build

Builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance.

Start a production http-server

pnpm start

Starts a production http-server in local to run the project with Service worker. The build is minified and the filenames include the hashes.

πŸš€ Your app is ready to be deployed!

White Labeling

Ayushma is a white label product. You can customize the app to your needs by changing the following files:

Images

Path Description
public/logo_text.svg Logo with text
public/logo_white.svg Logo with white text
public/logo.svg Logo without text

Environment Variables (place in .env / .env.local file)

Variable Description Default
NEXT_PUBLIC_API_URL Backend API URL https://ayushma-api.ohc.network/api/
NEXT_PUBLIC_LOCAL_STORAGE Local storage key name ayushma-storage
NEXT_PUBLIC_AI_NAME Name of the AI Ayushma
NEXT_PUBLIC_AI_DESCRIPTION Description of the AI Revolutionizing medical diagnosis through AI and Opensource
NEXT_PUBLIC_AI_WARNING Warning message for accuracy Please be aware that Ayushma AI may generate inaccurate information; kindly report any concerns to [email protected]
NEXT_PUBLIC_GOOGLE_RECAPTCHA_SITE_KEY Google Recaptcha Site Key 6Lerts4nAAAAAKyXaNZkYj4XfRO0M2R-XYIA3qv8

ayushma_fe's People

Contributors

shivankacker avatar ashesh3 avatar pranshu1902 avatar bodhish avatar gokulramghv avatar suprabathk avatar thedevildude avatar vinutv avatar rithviknishad avatar yogeshbhutkar avatar ishanextreme avatar mathew-alex avatar vishisht-dubey avatar dependabot[bot] avatar sainak avatar aeswibon avatar gigincg avatar khavinshankar avatar ladityagogoi avatar procode2 avatar siddnikh avatar

Stargazers

 avatar Vaibhav Sachdeva avatar  avatar

Watchers

 avatar syamkumar avatar  avatar  avatar  avatar  avatar

ayushma_fe's Issues

Add env variables to configure logos

Add variables

NEXT_PUBLIC_LOGO_URL

these will be optional, and if present, will override the current logo. (they should be urls)
Update the admin panel to use the same logo

image

Create a profile page

Create a route (main)/profile that allows the user to update their full name, and password. User can access this by clicking on the user icon in the sidebar

Modal not utilizing entire screen

The Modal is only covering the sidebar region in mobile view, instead it should cover the entire screen
image

The entire background isn't getting dark-shaded
image

Add infinite scrolling for chat history

Currently only 10 results are returned by API in the sidebar history
Using react infinite scroll (you will have to install it) and react query's useInfiniteQuery make the API fetch previous history as you scroll down.

Add fallback for no default projects

Currently, when visiting /, a query is made to fetch the default project and then the user is redirected to /project/<project_id>

Incase there is no default project returned, show an error message saying - No project found. Please try again later.

Beta tag overlapping logo

Currently the Ayushma logo is overlapping with the Beta badge.

image

Ideally the Text Logo & The Logo Icon should be separate components or the Beta badge should be completely outside the logo component

Setup a new admin layout

Setup a base layout for /admin.
Add a sidebar containing links for /admin (dashboard), and / (chat)
Try to reuse the current sidebar component.
Be sure to include the logout button

If the user does not have superuser access (which you can check through the storage atom), do not render the children or sidebar, but render a message saying you need super user access, and a link to go back to home page.

SideBar button are overflowing.

When there are many chats in the chat list in side bar, the button are overflowing out of screen height.

The chat list could be made scrollable.

image

TODO

  • Add Extensive documentation for all env variables
  • Add Hero Page
  • Add configurable domains for projects
  • Make page title and preset questions configurable for each project.
  • Allow projects to use their own OpenAI key
  • Allow frontend to be deployed through docker
  • Add usage limitations for users with access to key.

Add documentation for env variables

Update the readme file to include documentation for all env variables required to be setup to deploy ayushma. Something similar as implemented in the backend repo

Add root( / ) or HomePage route to Ayushma's logo

I noticed, there's no way to come back to the homepage route ( '/' ), after going to some other route, say '/profile'. Hence, it would be better to add a '/' route to the Ayushma's logo so that the user can navigate back to the homepage without altering the url.

Screenshot for reference:
image

Button has hover effects in disabled state

The custom Button component in ui/interactive has hover effects even when it is in disabled state

What can we do:

  • Disable hover effects
  • Change cursor to not-allowed cursor

Update the UI of the Edit Profile Page.

Making changes in src/app/(main)/profile/page.tsx

The current UI of edit profile page has a full width and the background blends with the actual content, hence, the input fields in the form lacks obvious separation from a user's perspective. Hence, it is advisable to reduce the width and to provide some distinction between the form and the background to boost the UI.

image

Create register and forgot password pages

create a register page that accepts email, username, password, full name. This should be identical to the /login page.

Create a /forgot-password page, accepting an email address.

Create a /reset-password page, that accepts an OTP and user_id in the query params. First, make a request to /verify-forgot-token to fetch username and email. Once that is done, load the page and show change password for <user> title accepting a password and reenter password field. Perform the reenter validation at frontend.

Once complete, redirect to /login.

Club all of these pages inside an (auth) group along with the login page in app directory, sharing the same layout for ease of development.

This issue is dependent on ohcnetwork/ayushma#71

Add navigation to admin panel

Add a navigation sidebar to the admin panel. You can reuse the sidebar component.

It should contain

  • Projects /admin
  • Users (this route has not yet been made) /admin/users
  • Ayushma /

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.