Coder Social home page Coder Social logo

sb2318 / ultimatehealth Goto Github PK

View Code? Open in Web Editor NEW
38.0 1.0 84.0 4.93 MB

UltimateHealth is an innovative open source project that serves as an online library and article management application focused on health.

License: MIT License

JavaScript 19.37% TypeScript 24.99% Ruby 11.79% Kotlin 19.31% Objective-C 18.17% Objective-C++ 6.36%
android javascript node-js react-native express-js gssoc mongodb nosql

ultimatehealth's Introduction

UltimateHealth (HealthGuide)

Typing SVG


🌟 Stars 🍴 Forks 🐛 Issues 🔔 Open PRs 🔕 Close PRs Last Commit
Stars Forks Issues Open Pull Requests Close Pull Requests Close Pull Requests

⚡ Featured In:

Open Source Programs

Event Logo Event Name Event Description
GSSoC 24 GirlScript Summer of Code 2024 GirlScript Summer of Code is a three-month-long Open Source Program conducted every summer by GirlScript Foundation. It is an initiative to bring more beginners to Open-Source Software Development.

⚡ ABOUT Us: UltimateHealth is an innovative open-source project that aims to provide a comprehensive online library and article management application focused on health. The project is designed to cater to users looking for reliable and trustworthy information on various health-related topics.

High VoltageTech Stack

Java Node.js expressjs React.js


📌Contents:

Features 🔮

From the beginner's perspective, the project consists of three main modules: Article Section, Chat Section, and Podcasts. The Article Section includes:

  • Diseases-related information
  • General health-related guidance 📚
  • Survival experiences from critical diseases
  • Backend Development

Users can also listen to articles (audio features) if they prefer. The Chat Section features a guide bot that helps users solve health-related problems.:sparkles:

Project Requirements 📬

  • Java installed on your machine. (Java version: 17)
  • Android Studio installed on your machine.

Install JDK:

To ensure that your project runs smoothly, make sure you have Java 17 installed on your system. You can follow these steps to set up Java 17:

  • Visit the Oracle website or the OpenJDK website to download the Java 17 JDK (Java Development Kit) for your operating system.
  • Follow the installation instructions provided for your specific operating system.

Installing JDK 17 on macOS:

  • Visit the Oracle JDK download page or the AdoptOpenJDK website.
  • Download the JDK 17 installer for macOS (e.g., .dmg or .pkg file).
  • Open the downloaded installer and follow the installation instructions.
  • After the installation is complete, you can verify the installation by opening a Terminal window and running the command java -version. It should display the installed JDK version.

Setting JAVA_HOME on macOS:

  • Open a Terminal window.

  • Determine the installation path of JDK 17. You can use the java_home command to find the path by running /usr/libexec/java_home -v 17.

  • Copy the JDK installation path.

  • Create or edit the .zshrc file in your user home directory by running nano ~/.zshrc in the Terminal.

  • Add the following line to the file, replacing <JDK_PATH> with the copied JDK installation path:

    export JAVA_HOME=<JDK_PATH>

  • Save the file and exit the text editor.

  • Close the Terminal window and open a new one to apply the changes.

  • To verify that JAVA_HOME is set correctly, run the command echo $JAVA_HOME in the Terminal. It should display the JDK installation path.

Installing JDK 17 on Windows:

  • Visit the Oracle JDK download page or the AdoptOpenJDK website.
  • Download the JDK 17 installer for Windows (e.g., .exe file).
  • Run the downloaded installer and follow the installation instructions.
  • After the installation is complete, you can verify the installation by opening a Command Prompt window and running the command java -version. It should display the installed JDK version.

Setting JAVA_HOME on Windows:

  • Right-click on the Windows Start button and select "System".
  • In the System window, click on "Advanced System Settings" on the left sidebar.
  • Click the "Environment Variables" button.
  • Under the "System Variables" section, click "New".
  • Enter JAVA_HOME as the Variable name.
  • Enter the path to the JDK 17 installation directory (e.g., C:\Program Files\Java\jdk-17) as the Variable value.
  • Click "OK" to save the variable.
  • Click "OK" again to close the Environment Variables window.
  • Close and reopen any Command Prompt windows for the changes to take effect.
  • To verify that JAVA_HOME is set correctly, run the command echo %JAVA_HOME% in a Command Prompt window. It should display the JDK installation path.

Setting ANDROID_HOME Environment Variable:💥

To set the ANDROID_HOME variable for both Windows and macOS, you can follow the instructions below:

Windows:

  • Open the System Properties window by right-clicking on the Computer icon and selecting "Properties".
  • Click on "Advanced system settings" on the left-hand side.
  • In the System Properties window, click on the "Environment Variables" button.
  • In the Environment Variables window, under the "System variables" section, click on the "New" button.
  • Enter ANDROID_HOME as the variable name.
  • Enter the path to the Android SDK directory as the variable value. (Default Path: C:\Users\User_Name\AppData\Local\Android\Sdk)
  • Click "OK" to save the changes.

macOS:

  • Open a terminal window.
  • Open the .bash_profile file in a text editor by running the command nano ~/.bash_profile.
  • Add the following line to the file:
  • export ANDROID_HOME=/path/to/android/sdk
  • Replace /path/to/android/sdk with the actual path to the Android SDK directory.
  • Press Control + O to save the file, then press Enter to confirm the file name, and finally press Control + X to exit the text editor.
  • Close the terminal window and reopen it for the changes to take effect.

Please note that the exact path to the Android SDK directory may vary depending on how you installed it. Make sure to replace /path/to/android/sdk with the correct path on your system.

Getting Started ⚡

Follow these steps to get started with UltimateHealth:

Clone the repository:

https://github.com/SB2318/UltimateHealth.git

Change the directory

cd  UltimateHealth

Checkout the develop branch and select your preferences (backend or frontend).

 git checkout develop

If you couldn't find the 'develop' branch in your own forked repository, please go to CONTRIBUTING.md and follow the instructions written in detail.

For Frontend:

Install dependencies:

npm install --legacy-peer-deps

Configure the application: (For IOS and Backend)

Update the configuration files if necessary. Ensure the Ethereum wallet connection details are set.

Run the applications.

To run the frontend server use:

For android: npm run android

For ios: npm run ios

For Backend:

MongoDB Installation

  1. Install MongoDB

    • Download the appropriate MongoDB installation package for your operating system from the official MongoDB website: https://www.mongodb.com/try/download
    • Follow the installation instructions for your specific platform.
  2. Set up a MongoDB database

    • After installation, start the MongoDB server by running the mongod command.
    • MongoDB will create a default data directory to store your databases.
    • Use the mongo shell or a GUI client like MongoDB Compass to interact with your databases.
  3. Follow the Steps to Initialize the backend server

Setting up a Backend Server

Follow the steps to set backend in your system

 cd backend

Create .env file if not present and add the following variables in the file

PORT=
MONGODB_URL=""
JWT_SECRET=""

Install necessary dependency from package.json

npm install -s

Once dependencies are installed, run the server using the following command

npm run dev

Alternate Command to run the server once

node server.js

Backend API URL

 http://localhost:{PORT}/api/

Make Sure to replace the proper PORT value for Backend API

Access the application: Open your web browser and navigate to (LOCAL_HOST_URL). If you would like to contribute to the project, please follow the contribution guidelines.

Testing Frontend with Localhost Backend Server

When working with a backend server running on localhost, frontend developers can follow these guidelines to test their application:

Since our server is currently hosted locally, it is advisable to utilize an emulator instead of a real device for API testing.

  1. Start the backend server

    • Before testing the frontend application, ensure that the backend server is running on localhost.
    • Navigate to the backend project directory and start the server (e.g., node server.js for a Node.js server).
    • The server should be listening on a specific port (e.g., http://localhost:{PORT}).
  2. Configure the frontend application

    • In the frontend application, locate the configuration file or the section where the API base URL is defined.
    • Set the API base URL to point to the local backend server.
  3. Use appropriate HTTP clients

    • During development, frontend developers can use browser tools like the Network tab in the developer tools or dedicated HTTP clients like Postman or Insomnia to test the backend API endpoints.
    • Send HTTP requests to the local backend server and observe the responses.
  4. Handle CORS (Cross-Origin Resource Sharing)

    • If the frontend application is running on a different port or domain than the backend server, the browser may block the requests due to CORS restrictions.
    • To handle CORS, the backend server should be configured to allow cross-origin requests from the frontend application's origin.
    • CORS is handled in the current backend server
  5. Proxy requests (optional)

    • Some frontend frameworks (e.g., Create React App, Vue CLI) provide a built-in proxy feature that forwards requests from the frontend application to the backend server.
    • Configure the proxy in the frontend application's development settings to automatically forward API requests to the local backend server.
  6. Use environment variables

    • Avoid hardcoding the backend server URL in the frontend application.
    • Instead, use environment variables to store the backend server URL and read it during runtime.
  7. Test different scenarios

    • Test various user flows and interactions with the backend API, such as creating, reading, updating, and deleting data.
    • Simulate different scenarios, including error cases and edge cases, to ensure the frontend application and backend server handle them correctly.

Access the application: Open your web browser and navigate to (LOCAL_HOST_URL). If you would like to contribute to the project, please follow the contribution guidelines.


✨Contribution Guidelines:

  • Checkout and make your changes for the develop branch only: When working on your contributions, switch to the develop branch in your local repository. This ensures that you are working on the latest version of the codebase.

  • Create pull requests only for the develop branch: When you are ready to submit your changes, create a pull request (PR) targeting the develop branch. This allows the maintainers to review and merge your code into the main development branch.

  • Maintain contribution guidelines: Each project may have its specific contribution guidelines. It's important to familiarize yourself with these guidelines before submitting your contributions. Adhering to these guidelines ensures consistency and helps maintain the quality of the codebase.

  • Format your commit message with the issue number: When making commits related to an issue, follow the format Fixes: #32 in your commit message. Replace 32 with the issue number you are addressing. This helps track and manage issues more efficiently.

  • Attach a Postman response screenshot for backend tasks: For tasks related to the backend, it is recommended to include a screenshot of the Postman response along with your pull request. This provides additional context and helps reviewers understand the changes made and their impact on the backend functionality.

  • Make your pull request descriptive and include examples: When creating a pull request, provide a clear and descriptive explanation of the changes you made. This helps reviewers understand the purpose and significance of your contribution. Additionally, including at least one example that demonstrates the intended usage or effect of your changes can be beneficial.

  • Rebase your commits and optimize file changes: When submitting your pull request, consider rebasing your commits into one commit and optimizing your file changes. This helps keep the commit history clean and makes it easier for reviewers to understand your changes.

Remember, following these guidelines will help ensure a smooth and efficient contribution process. Happy coding!


⚡Our Vision:

We are committed to delivering reliable health information and comprehensive resources that empower individuals to take charge of their well-being. Our mission is to foster a healthier society by providing trustworthy, accessible, and engaging content, enabling users to make informed decisions and lead healthier lives.

✍️ Feedback and Support:

If you encounter any issues or have any feedback or suggestions, please open an issue in the Issues section of this repository. We appreciate your feedback and will respond as soon as possible.

Code of Conduct:

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


License:

License
This project is licensed under the MIT License.


Contact Us:

Email

https://www.linkedin.com/in/susmita-n-m-bhattacharya


Our Contributors ❤️


Support

Don't forget to leave a star for this project!

Go to Top

ultimatehealth's People

Contributors

abhigna-arsam avatar aditijainnn avatar adrikadwivedi avatar akshathere avatar alishasingh06 avatar ananyag309 avatar arpcoder avatar asymtode712 avatar jaickeyminj avatar maryammohamedyahya avatar officeneerajsaini avatar pradnyagaitonde avatar sanmarg avatar sb2318 avatar sharmanishchay avatar sibam-paul avatar suhanipaliwal avatar thevijayshankersharma avatar tonystark-47 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ultimatehealth's Issues

💡[FEATURE]: Adding Database model for Articles

Description:

This issue introduces a new database model for managing the storage of articles. The primary goal is to create a robust, scalable, and efficient structure for storing and retrieving article data, facilitating better management and organization of health-related content.

Changes Included:

- Article Model Definition:

  • Created an Article model with the following fields:
  • id (Primary Key, Auto-increment)
  • title (String, Required) - The title of the article
  • authorName(String, Required) - The name of the author of the article
  • authorId(String, Id) - User Id of the author
  • content (Text, Required) - The main body of the article (It will be HTML / Markdowntext)
  • summary/description (Text, Required) - A brief summary of the article
  • published_date (DateTime, Required) - The date the article was published
  • last_updated(DateTime, Required) - Last Updated by Author
  • tags/categories(String, Optional) - Tags associated with the article for categorization
  • status (String, Required) - The publication status of the article (e.g., Draft, Published, Archived)
  • imageUtils(StringArray, Required) - They can integrate multiple images in the post (at least one)
  • relatedBodyPart(Array, Required)
  • viewCount(Number, Required) - How much time article has viewed
  • likeCount(Number, Required)
  • language(String, Required) - (Default: English)
  • Added validation constraints to ensure data integrity. (Must, for this reason it becomes level2)

@Digaa2710 Please check the update

💡[FEATURE]: Design Forgot Password module

Describe the solution you'd like

image

image

Task Area:

  • EmailInputModal (./frontend/src/components/EmailInputModal.tsx)
  • LoginScreen (./frontend/src/screens/auth/LoginScreen.tsx)
  • OtpScreen (./frontend/src/screens/auth/OtpScreen.tsx)
  • NewPasswordScreen ((./frontend/src/screens/auth/NewPasswordScreen.tsx)

@Hemu21 Please check the design changes.

[Feat]: Add templates for issues

Issue templates are very helpful for a collaboration repo. When users identify a bug or want to add a new feature, you can provide templates so you can collect all the pertinent information you need to fix a bug or add a new feature.

We recommend creating a “Report Bug” and “Feature Request” issue template.

Some suggested prompts/questions you can add to a “Report Bug” template are:

Briefly describe the bug
What is the expected behavior?
Please provide step by step instructions on how to reproduce the bug
Some suggested prompts/questions you can add to a “Feature Request” issue template are:

Briefly describe your feature request
What problem is this feature trying to solve?
How do we know when the feature is complete?

Reference: https://github.com/Recode-Hive/Stackoverflow-Analysis/issues/new/choose
Click on Get Started button and copy the template to yours.

Backend Task: Set Up MongoDb database for the backend project

Task Description:

(i) clone the repository: https://github.com/SB2318/UltimateHealth.git
(ii) check out the branch: git checkout ultimate_health_backend

(iii) Install node js:

(iv) Open the folder on vs code

(v) Open a new terminal

(vi) Install express.js

npm install express

(vi) start the server:
node server.js

Your task is only to set up the Mongodb database with the project.

Create some demo data to implement only POST CRUD operation, And it will return the message ' data saved successfully

📝[Docs]: Missing learn.md file

Learn repos should have a LEARN.md file to teach student how to build project step by step. One can explain how to build this project with text, code snippets, images etc.

The LEARN.md file requires to think critically about how to explain the building of this project and how to also make it engaging.

This issue would like to reflect on how difficult it was to get to level of knowledge executed, and then provide friendly guidance to help other contributors to learn.

Reference: https://github.com/Recode-Hive/Stackoverflow-Analysis/blob/main/Learn.md

BUG: PR template not visible as expected

I would like to add a pull request template for this repository. I believe that having a standardized template will help streamline the contribution process, ensuring that all necessary information is included and making it easier for maintainers to review and merge pull requests.

Could you please assign this issue to me under GSSOC'24.

💡[FEATURE]: Add One Notebook Icon On the HomeScreen

Describe the solution you'd like

The Notebook icon feature is mainly responsible to land user to article writing page.

References:

image

Replace '+' with note icon.

Make sure it will be there only for first tab screen.

Continuation of #42

💡[FEATURE]: Auto Commenting when an Issue is Closed and When an PR has successfully merged

Is your feature request related to a problem? Please describe.
Yes, the feature request is related to the problem of lack of communication and acknowledgment when issues are closed in the repository. Contributors may feel neglected or uncertain about the status of their issues if they are closed without any feedback or acknowledgment. This can lead to frustration and a decrease in motivation to contribute further.

Describe the solution you'd like

Close Issue

The solution is to automatically post a comment on the issue whenever it gets closed. This comment should thank the issue creator for their contribution and inform them that their issue has been closed. The message can include the issue number and a friendly greeting to make it more personal. This automation ensures that every closed issue receives a consistent and timely response, improving communication and contributor experience.

issue closed

For PR

To enhance our communication and acknowledgment process, we're implementing an auto-commenting feature for specific events within our project repository. This feature will automatically generate comments under the following circumstances:
PR Merged: Upon the successful merging of a pull request (PR), an auto-comment will be added to the corresponding issue, indicating that the PR has been merged and expressing gratitude to the contributor for their valuable contribution.

PR merged

Add Dark Mode / Light Mode

I would like to work on this functionality. in my earlier projects i have worked on this functionality. I would be grateful if you could assign me this functionality
@SB2318

💡[FEATURE]: Implement Bottom Tab Navigation In Mobile App

Additional context

Here You have to implement react-tab navigation.
Libraries :
(i) @react-navigation/bottom-tabs:
(ii) https://www.npmjs.com/package/react-native-vector-icons

You need to integrate those two libraries inside the frontend project.

Create three screen (Home, Podcasts, Profile) (Icon will be react-native-vector-icons)

Attach those screens with a tab.

Your workspace:

** Create a new folder **

./frontend/src/navigations/TabNavigation

Inside the TabNavigation Screen, Implement the TabNavigation code.

Create Screens

All three screens will be located at

./frontend/src/screens Package.

Integrate your code in the main app component.

For any queries feel free to reach out to me at the discord server and please message me with your issue ID.

💡[FEATURE]: Restrict Navigation

Is your feature request related to a problem? Please describe.

Screen.Recording.2024-05-20.at.12.30.05.AM.mov

Describe the solution you'd like

You have to restrict the navigation, If the user already logged in, or the token has not expired yet, then you have to land the user from SplashScreen to Home page,
Otherwise, land the user on the login page.

Additional context
Continuation of Login Page Development

Missing CONTRIBUTING.md File in Repository

The repository currently lacks a CONTRIBUTING.md file, which is an important resource for guiding potential contributors on how to engage with the project effectively. A CONTRIBUTING.md file outlines the contribution guidelines, coding standards, and procedures for submitting pull requests, thus streamlining the contribution process and ensuring consistency across contributions.

Could you please assign this issue to me under GSSOC 24.

💡[FEATURE]: Applying Fonts to Text in React Native

Describe the solution you'd like

Your task is to integrate 2-3 types of font with frontend application.

Reference:
https://medium.com/@prathiba2796/how-to-add-and-use-custom-fonts-in-react-native-369d5bba9203

Make sure the fonts work perfectly in the text.

Task Example

Use Lobster font for App-Name

There are more than two screens, where you can find the app name used.

Additional context

Please attach a snapshot of your changes with PR.

For any doubts or stuck situation related the task, feel free to reach out to me.

💡[FEATURE]: Create API for Storing Doctor Specializations.

Is your feature request related to a problem? Please describe.

Create an API that can store a list of categories of specializations for various doctors. This API will allow users to access and update the list of specializations easily.

Describe the solution you'd like

Schema:{
    [
     {
      id: string,
      name: string,
      countOfExistingDoctors: number,
      doctor_ids:[ ],
      last_updated_at : date,
      created_at :  date,
      contributed_by: UserData
     }

  ]
}

example :[ "Cardiology", "Dermatology", "Pediatrics"]

Centralised/Single file for API calls in Backend

Current Situation
Multiple files for routing listed below:

image
image
image

My suggestion

In the backend folder, there is a routes folder designed to manage API calls. A single file within this folder should be created to handle the routing. The file uses Express.js to define routes for patient signup and other functionalities. It imports the necessary controllers and middleware to handle the requests.

Here’s a brief overview of the file:

  • Dependencies: Imports Express.js, Router, and a middleware (Multer).
  • Controllers: Imports specific functions (patientSignup, patientLogin, updatePatientData, validateTokenPatient) from the patientAuth controller.
  • Routes: Defines routes for patient login and signup:
    • POST /patient/login: Handles patient login.
    • POST /patient/signup: Handles patient signup.
  • Export: Exports the configured router to be used in the main application.

This setup modularizes the routing logic, making the code more maintainable and scalable.

image
image

💡[FEATURE]: Design Signup Module

image

image

Instructions:

  • Use react-native-vector-icons as much as possible.
  • Give Password show-hide feature.
  • For Doctor's Specialization part as of now create a static list with 5 types, and attach the list with dropdown.
    example :[ "Cardiology", "Dermatology", "Pediatrics"]
  • Differ the text and numbers edit-text field.

Figma file will provided in person, if needed.

Add Code of Conduct file

Currently, the repository lacks a Code of Conduct file, which is an essential component for fostering a healthy and inclusive open-source community. A Code of Conduct serves as a guideline for expected behaviour, ensuring that contributors and participants feel safe, respected, and valued within our community space.

Please assign this issue to me.

💡[FEATURE]: : Implementing Forgot Password Functionality with Email OTP

Is your feature request related to a problem? Please describe.

To add the forgot password functionality to the backend server, you can implement a process where users enter their email address, receive an OTP (One-Time Password) via email, and then reset their password using the OTP.

Describe the solution you'd like

  1. User enters their email address on the forgot password page.
  2. The backend server checks if the email exists in the system.
  3. If the email exists, an OTP is generated and sent to the user's email address.
  4. The user receives the OTP in their email inbox.
  5. The user is redirected to a new password page where they can enter the OTP and set a new password.
  6. The backend server verifies the OTP and updates the user's password.

Additional context

Please attach the API responses snapshot while making a PR.

📝[Docs]: Create New Pull Request Template.

Could you please assign me the issue related to adding GitHub Desktop contribution instructions under gssoc24? I am excited about the opportunity to contribute to the project and help streamline the contribution process for others.

Kindly give a brief description about the project ?

Hi i am Samarjit. i have been learning react native since 2 months and i have a basic understanding of the react native. can you please provide some details about the project so that i can start as soon as possible or we can catch up over meet.

Issue Tracker

An issue tracker within a project repository will allows users, developers, and project maintainers to report, track, and manage various tasks, including bugs, feature requests, questions, and general discussions related to the project. Since the project will be pulled and handled in various environment i suppose this could be one of the thing that might be required in this project. Along with
-> Version Control
-> Dependencies
Apart from the main codebase i am also motivated to contribute in any way possible to this project

💡[FEATURE]: Refresh Token Functionality

As the JWT token will expire after specific duration, instead of login to get a new token, we can have route which will return us the new JWT token which will be valid for the user without explicitly logging into the system

Reference:

(i) https://fusionauth.io/docs/apis/jwt#:~:text=The%20refresh%20token%20that%20can,is%20registered%20to%20the%20application.

(ii) https://www.geeksforgeeks.org/jwt-authentication-with-refresh-tokens/

(iii) https://stackoverflow.com/questions/27726066/jwt-refresh-token-flow

image

@komalverma04 Please follow these articles, and ping me in discord I will share you the entire flow.

Implement User Authorization and Authentication

Expected Behavior:

  • Users should be required to sign up and log in to access certain features of the application.
  • Upon successful login, users should be authenticated and authorized based on their roles to perform specific actions.

Proposed Solution:

  • Implement user authentication using JWT (JSON Web Tokens) to securely manage user sessions.
  • Implement signup, login, logout, and password reset functionality with appropriate validation and error handling.
  • Set up protected routes in the backend to restrict access to authorized users only.

Authentication and Authorization Functionality

Implementation of Login and Signup Routes for the backend

user:{
    user_id: (Random)
    user_name: 'string',
    user_handle:' string'
    email:'string'
    user_role:'string' [Doctor, General]
    profile_image:'string',
    created_at:Date,
    last_updated_at:'Date
},

Doctor:{
      user_id: (Random)
    user_name: 'string',
    user_handle:' string'
    email:'string'
    user_role:'string' 
    specialization:'string',
    qualification:'string',
    years_of_experience:'string',
    contact_detail:{
      phone_no: number,
      email_id:"string"
     },
    profile_image:'string',
    created_at:Date,
    last_updated_at:'Date
}

PR Submission:

You need to test the server in Postman and attach the snapshot of the response with your PR.

Continuation of #21

Please start work, only when #21 will complete.
Thanks for your patience.

Creation of .env file (Ultimate Health)

Hi,

I wanted to create a .env to store the environment variables that can be accessed by the application during runtime.
Also, I am requesting you to share the MongoDB URL where the data will be stored for this project.

Can you please assign this issue to me?
Thanks!

Below are the sample snippet and screenshots.

DATABASE_URL=mysql://username:password@localhost:3306/mydatabase
API_KEY=abc123xyz456
DEBUG=True
Screenshot 2024-05-12 194528

💡[FEATURE]: Workflow for Closing Issues when a PR is Merged

Is your feature request related to a problem? Please describe.

When contributors create a pull request (PR) by mentioning the issue number, sometimes it is necessary to explicitly close the issue. This can be a problem because it requires additional effort and can lead to confusion and inefficiency in the development process.

Describe the solution you'd like

Implementation Steps:

  • Identify the issue: When a pull request is created and the issue number is mentioned, the system should automatically identify the corresponding issue.
  • Monitor pull request status: The system should continuously monitor the status of the pull request, specifically looking for merged pull requests.
  • Automatically close the issue: Once a pull request is merged, the system should automatically close the corresponding issue, eliminating the need for manual intervention.
  • Notify relevant parties: The system should notify the contributors and project maintainers about the automatic closure of the issue, ensuring everyone is aware of the status change.

Solution:

If necessary, create a workflow,
if not modify the readme instruction at proper place.

💡[FEATURE]: Design Login Screen

Describe the solution you'd like

You have to design the LoginScreen, here is your prototype:

image

To get started, please follow these steps:

  • Design the LoginScreen component based on the provided prototype.

  • Implement the component in the App.tsx file for testing purposes.

  • Make sure the LoginScreen component is located in the following folder:
    ./frontend/src/screen/auth/LoginScreen.

  • Handle screen size dynamically, (Do not use any static value like height:80, width:20 or something like that)

  • Once you have completed the design and implementation, take a screenshot of the LoginScreen while the application is running.

  • Finally, submit your changes by creating a Pull Request (PR) with the screenshot attached.

Initialization and Basic Setup of Ultimate_Health_Backend with Node modules and ExpressJs

Hi,

I want to suggest this issue to initialize the Backend folder with respective modules and installation of express server for API calls.

Objectives:

  • Initialize Node Modules: Install all necessary Node modules including Express.js.
  • Configure Express Server: Set up a basic Express server that can handle API requests.

I am adding a sample snippet for the proposed issue.

image

image

💡[FEATURE]: Workflow for closing Old PRs

Is your feature request related to a problem? Please describe.
Over time, open pull requests (PRs) can accumulate in a repository, cluttering the interface and making it difficult to focus on active development tasks. Additionally, outdated or abandoned PRs may no longer serve their intended purpose and should be closed to maintain repository cleanliness.

Describe the solution you'd like
Implement a workflow that automatically closes old PRs based on predefined criteria, such as their last update timestamp. By regularly closing PRs that have not been updated within a certain timeframe, the repository can stay organized, and contributors can focus on active and relevant PRs.

Automated Greeting Workflow using Github Bots

I propose to create a GitHub workflow named "Greetings". This workflow will automatically greet(using Github Bots) users who create new issues or pull requests in this repository. The Greeting will look like "Hi there! Thanks for opening this issue. We appreciate your contribution to this open-source project. We aim to respond or assign your issue as soon as possible."

Please assign this issue to me

Restructure the Project: Backend and Frontend Separate Directory

Hi,

Considering the project, which consists of both frontend and backend code. I am suggesting to make two separate directories.
Here's what would happen if we put both React and Express code in the same folder:

  • Organizational Confusion: Mixing front-end and back-end code in the same folder can lead to confusion and make it harder to maintain and understand your project's structure.

  • Build Process Complexity: React applications typically have a build process that transpiles JSX, bundles JavaScript files, and optimizes assets. Express applications, on the other hand, don't typically require such build steps. Combining these different build processes can be challenging.

  • Development Server: React applications often come with a development server (like Create React App's development server) that serves the React application locally during development. Express applications also typically have a development server. Running both servers simultaneously in the same folder could cause conflicts.

  • Deployment Complexity: Deploying a combined React and Express application may require more complex deployment configurations. You may need to configure your deployment process to build and serve the React front end separately from the Express back end.

  • Dependencies: React and Express have different sets of dependencies. Mixing them together may lead to version conflicts or unnecessary dependencies.

I am attaching a screenshot of my project where I have followed this hierarchy.

image

Create Application Logo

Color:

PRIMARY_COLOR ="#0CAFFF"
ON_PRIMARY_COLOR = "#FFFFFF"
SECONDARY_COLOR ="#00BFFF"

Description:

Welcome to all contributors🎉.

Let's start our journey with a beautiful game.

This issue will not be first come first serve basis, you all are welcome to take part in this challenge.

The task will be, Please design a suitable logo for the application. (Color code mentioned above).

At the end of the day mentor will give you the feedback. She will select the appropriate logo for our project.

Leave a comment here and start your work. (Only If, you are interested)

Keep Contributing!

💡[FEATURE]: Extension of Auth API : Email verification for user in backend

Is your feature request related to a problem? Please describe.

Email verification is an important process that helps ensure the validity and authenticity of an email address provided by a user.

Describe the solution you'd like

After the Registration process is complete, (not login) the user has to verify their mail id, only after that, they can go to the Home page.

Describe alternatives you've considered

You can use nodmailer.

Additional context

Reference:
(i) https://faun.pub/verifying-emails-b95a0c1c3809

💡[FEATURE]: Auto Commenting feature for PR Merged

Is your feature request related to a problem? Please describe.
Yes, the feature request is related to a problem. When pull requests (PRs) are merged in a project, it is often important to provide consistent feedback or notifications to the contributors. Currently, this process can be manual and time-consuming, leading to inconsistent communication and delayed acknowledgments. This can frustrate both maintainers, who have to remember to comment, and contributors, who might feel their efforts are not promptly recognized.

Describe the solution you'd like
To enhance our communication and acknowledgment process, we're implementing an auto-commenting feature for specific events within our project repository. This feature will automatically generate comments under the following circumstances:
PR Merged: Upon the successful merging of a pull request (PR), an auto-comment will be added to the corresponding issue, indicating that the PR has been merged and expressing gratitude to the contributor for their valuable contribution.

PR merged

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.