Skip to content

Eterna Care is a Blood Bank web application designed to manage and schedule appointments for blood donors .

Notifications You must be signed in to change notification settings

ciobiano/Eterna-care

Repository files navigation

Eterna Care Medical Institute

Table of Contents

  1. Introduction
  2. Features
  3. Technologies Used
  4. Getting Started
  5. Usage
  6. API Documentation
  7. Project Structure
  8. Contributing
  9. License
  10. Contact

Introduction

Eterna Care Medical Institute is a Blood Bank web application designed to manage blood inventory with integration of a schedule appointment system for blood donors . This application helps ease the struggle in proper inventory management.

Features

  • User authentication and authorization
  • Schedule appointments with laboratories
  • View and manage appointments
  • View and manage Blood-bank Inventory
  • Responsive UI for a seamless user experience

Technologies Used

  • Frontend: React, Next.js, Tailwind CSS, Shadcn UI
  • Backend: Node.js, Next.js Server Action
  • Database: Prisma ORM with MongoDB
  • State Management: React Query (TanStack Query)
  • Validation: Zod, React Hook Form

Getting Started

Prerequisites

Ensure you have the following installed on your local development machine:

  • Node.js (>= 14.x)
  • pnpm or yarn

Installation

  1. Clone the repository:

    git clone https://github.com/ciobiano/Eterna-care.git
    cd Eterna-care
  2. Install the dependencies:

    pnpm install
    # or
    yarn install

Running the Application

  1. Start the development server:

    pnpm run dev
    # or
    yarn dev
  2. Open your browser and navigate to http://localhost:3000.

Usage

Once the application is running, you can:

  • Sign up and log in as a user
  • Browse and select laboratories
  • Schedule and manage appointments

API Documentation

The application uses server actions to handle data fetching and mutations. Here are some key endpoints:

  • GET /actions/getLaboratories: Fetch a list of laboratories
  • POST /actions/getAppointments: Create a new appointment

For detailed API documentation, refer to the code in the /actions directory.

Project Structure

The project is organized as follows:

Eterna-care/
├── actions/              # Next.js 14 server actions
├── app/                  # Next.js app directory
├── components/           # Reusable React components
├── hooks/                # Custom React hooks
├── lib/                  # Utility functions and libraries
├── prisma/               # Prisma schema and migrations
├── public/               # Public assets
├── styles/               # Global styles and Tailwind CSS config
├── .env                  # Environment variables
├── next.config.js        # Next.js configuration
├── package.json          # Project dependencies and scripts
└── README.md             # Project documentation

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/your-feature-name)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add new feature')
  5. Push to the branch (git push origin feature/your-feature-name)
  6. Open a pull request

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or inquiries, please contact:


About

Eterna Care is a Blood Bank web application designed to manage and schedule appointments for blood donors .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published