Skip to content

divin3circle/uzima_journal

Repository files navigation

UZIMA JOURNAL GITDOCS

HealthJournal

Uzima Journal

Uzima Journal is a health journaling app that allows users to track and record their daily health progress. The app is designed to help users maintain a comprehensive record of their health and well-being, which can be useful in various scenarios, including visits to healthcare professionals. The app is built using React(Typescript) and Azle- also a Typescript SDK for building on the internet computer.

Features

  • Daily Journaling: Users can create entries to record their health status, symptoms, medications, exercise routines, and any other relevant information.
  • Track Progress: The app provides tools to track progress over time, allowing users to visualize trends and patterns in their health.

Benefits of Using Uzima Journal

  • Improved Communication with Healthcare Professionals: Having a detailed health journal can help users effectively communicate their symptoms, experiences, and concerns to healthcare professionals, enabling them to receive more accurate diagnoses and personalized treatment plans.
  • Identifying Patterns and Triggers: By regularly journaling their health, users can identify patterns and triggers that may affect their well-being. This can help them make informed decisions about their lifestyle, diet, and medication.
  • Monitoring Progress: Uzima Journal allows users to track their progress over time, enabling them to see improvements or identify areas that need attention. This can be motivating and empowering for users on their health journey.
  • Enhanced Self-Awareness: Journaling can promote self-reflection and self-awareness, helping users gain a deeper understanding of their health and well-being. This can lead to better self-care practices and overall improved quality of life.

Getting Started

Prerequisites

To interact with Uzima Journal locally ensure you have the following installed:

  1. NodeJs: https://nodejs.org/en/download
  2. DFX v0.15: https://internetcomputer.org/docs/current/references/cli-reference/dfx-parent
  3. Rust: https://www.rust-lang.org/tools/install

Setting up dev enviroment

After installations follow these steps to launch Uzima Dao:

  1. Fork the repository: https://github.com/divin3circle/uzima-journal
  2. After forking the repository, clone your version of the repository to your local enviroment
  3. Open the repository in VS Code and run the follwowing command:
dfx start --clean --background # Run dfx in the background
  1. Then run these commands in your VS Code terminal:
npm run setup # Install packages, deploy canisters, and generate type bindings
npm start # Start the development server

npm run setup installs all the dependecies of Uzima Journal, deploys the frontend and backend canister to the testnet and generate the type bindings which facilitates frontend and backend interactions. npm start spins up the React development server

NOTE: REMEMBER TO RUN dfx deploy backend before opening the local server

Interacting with Uzima Journal

  1. Open your localhost via: localhost:3000. Click Get Started to be authenticated with your internet identity.

    Landingpage

  2. Use an existing internet identity or create a new one:

    Authentication

  3. After your account has been created you will be logged in to the homepage. From here you can click on the rose-red text besids the Welcome back heading on the top right. An alert will pop up showing your principal:

    Home

  4. To create a new journal, click on the create new journal button on the top left:

    Journal

  5. Then hit save, an alert will promt you to refresh the page:

    Journaling

  6. Final

You can also interact with the backedn canister alone using Candid UI. To do this, stop the Vite dev sever using CTRL + c or CMD + C on mac. Then stop the dfx sever as well by running dfx stop. Repeat process number three on Setting up dev environment. Then copy and paste the command below in your terminal and open the candid ui link in your browser.

dfx deploy backend

CandiddUI

Technology Stack

  • Vite: high-performance tooling for front-end web development
  • React: a component-based UI library
  • TypeScript: JavaScript extended with syntax for types
  • Sass: an extended syntax for CSS stylesheets
  • Prettier: code formatting for a wide range of supported languages
  • Azle: a TypeScript CDK for the Internet Computer

Documentation

License

This project is licensed under the MIT License.

Contact

If you have any questions or suggestions, feel free to reach out at [email protected].