Propuestas
# 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: `git clone https://github.com/divin3circle/uzima-journal.git` 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: ```sh dfx start --clean --background # Run dfx in the background ``` 4. Then run these commands in your VS Code terminal: ```sh 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 ## Technology Stack - [Vite](https://vitejs.dev/): high-performance tooling for front-end web development - [React](https://reactjs.org/): a component-based UI library - [TypeScript](https://www.typescriptlang.org/): JavaScript extended with syntax for types - [Sass](https://sass-lang.com/): an extended syntax for CSS stylesheets - [Prettier](https://prettier.io/): code formatting for a wide range of supported languages - [Azle](https://github.com/demergent-labs/azle): a TypeScript CDK for the Internet Computer ## Documentation - [Vite developer docs](https://vitejs.dev/guide/) - [React quick start guide](https://beta.reactjs.org/learn) - [Internet Computer docs](https://internetcomputer.org/docs/current/developer-docs/ic-overview) - [Azle Book](https://demergent-labs.github.io/azle/) - [`dfx.json` reference schema](https://internetcomputer.org/docs/current/references/dfx-json-reference/)
Hello guys, decentralized_chef main purpose is to store and provide users and chefs recipes from IC's blockchain. It's a recipe storage and retrieval canister that harnesses the power of IC's blockchain of speed, safety and affordability. I do have a problem when trying to retrive data as all my query functions are returning an empty vector. All the call functions work perfectly and I have confirmed that data is being stored properly via the candid ui. More description on the github repo.
Fitness Tracker App: The Fitness Tracker app is designed to assist users in achieving their fitness goals by providing a platform to log and monitor their workouts, track their progress over time, and set personalized fitness goals. The app includes various features that enhance the workout experience and help users stay motivated on their fitness journey. To learn more check the readme file at the root of the project.
FEEDBACK
Hello guys, decentralized_chef main purpose is to store and provide users and chefs recipes from IC's blockchain. It's a recipe storage and retrieval canister that harnesses the power of IC's blockchain of speed, safety and affordability. I do have a problem when trying to retrive data as all my query functions are returning an empty vector. All the call functions work perfectly and I have confirmed that data is being stored properly via the candid ui. More description on the github repo.
Welcome to your decentralized Library system. It is a fun way to keep track of library cards and books borrowed. List your books when you create a book, issue cards with unique IDs, and allow users to borrow and return books while keeping track of the unique card IDs.
Hi Chriss 👋, Your code is well written and pretty robust, hence I only found minor areas which can be improved.
I've made some improvements to the TypeScript code in index.ts
that I believe will enhance its readability, maintainability, and overall quality. Here's a summary of the changes:
❌ Removed unused imports: I've removed the unused blob
, Opt
, and Ok
imports from 'azle' to clean up the code.
🫴 Added error handling to generateId
function: I've added a try-catch block to the generateId
function to handle any errors that might occur when calling ic.time()
.
⛔️ Defined error messages as constants: I've defined the error messages 'CardDoesNotExist'
and 'BookDoesNotExist'
as constants at the top of the file to make it easier to change these messages in the future and reduce the chance of typos.
📣 Added type annotations: I've added TypeScript type annotations to variables and function return values to make the code easier to understand and help catch potential type errors.
♻️ Refactored error handling code: I've refactored the code for handling errors when a card or book does not exist into separate functions to adhere to the DRY (Don't Repeat Yourself) principle.
🆕 Renamed variables for clarity: I've renamed libraryCards
to cardMap
and books
to bookMap
to more accurately reflect what these variables represent.
I hope you find these changes useful. I'm looking forward to your feedback 😇.
Dacade es una plataforma de código abierto y se creó en colaboración con múltiples contribuyentes. Visita el repositorio para empezar a contribuir.