Skip to content
/ gutargu Public

Gutargu is a simple real-time chat application built with .NET and React showcasing basic messaging functionality.

License

Notifications You must be signed in to change notification settings

ddas09/gutargu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gutargu

A real-time chat application built with .NET and React, designed for seamless communication.

Overview

Gutargu is a simple real-time chat application. This project serves as a sample implementation showcasing basic messaging functionality like real-time messaging, user presence status, and message persistence. It's intended for learning and experimentation, offering a fun way to explore real-time communication in web apps.

Screenshots

Here are some screenshots of the app in action:

  • Main Area:
    MainArea Screenshot

  • Blocked User:
    Blocked user Screenshot

  • Login Screen:
    Login Screen Screenshot

  • Signup Screen:
    Signup Screen Screenshot

Prerequisites

Ensure you have the following installed on your system:

Getting Started

To get started with the Gutargu application, follow these steps:

1. Clone the Repository

git clone https://github.com/ddas09/gutargu.git
cd gutargu

2. Set Up the Backend (.NET)

  1. Navigate to the backend directory:

    cd gutargu-backend
  2. Restore the .NET dependencies:

    dotnet restore
  3. Setup DB connection:

    Update the connection string in the appsettings.development.json file with your PostgreSQL database credentials.

    {
       "ConnectionStrings": {
          "GutarguDB": "Host=localhost;Port=5432;Database=<your_db_name>;Username=<your_pgadmin_username>;Password=<your_pgadmin_password>"
       }
    }
  4. Apply the database migrations:

    Run following command from the root directory of your backend project -

    dotnet ef database update
  5. Create uplods/images directory in the gutargu-backend folder. This is required to serve static files(images) for now. We will find a fix for this later.

  6. Run the .NET backend:

    dotnet run

    This will start the backend server, which will be accessible on http://localhost:5000.

3. Set Up the Frontend (React)

  1. Navigate to the frontend directory:

    cd ../gutargu-frontend
  2. Install frontend dependencies:

    npm install
  3. Setup the env variables:

    Add the following line to set the backend API URL (VITE_API_BASE_URL):

    VITE_API_BASE_URL=http://localhost:5158/api
  4. Run the React development server:

    npm run dev

    The frontend application should now be running on http://localhost:3000.

4. Accessing the Application

Backend: The API will be available at http://localhost:5158. This serves the real-time messaging features and handles user connections.
Frontend: The user interface will be available at http://localhost:5173. You can send and receive messages in real-time from this interface.

File Structure

Gutargu/
├── gutargu-backend/                   # Backend code (API)
│   ├── API/                           # Public API Layer containing controllers
│   ├── Common/                        # Common Enums, Constatns, Exceptions
│   ├── DAL/                           # Data Access Layer Code
│   ├── Services/                      # Business logic (e.g., user auth, manage chats)
│   ├── Properties/                    # Project properties (e.g., debugging, build settings)
│   ├── appsettings.json               # Configuration settings
│   ├── appsettings.Development.json   # Development-specific settings
│   ├── Program.cs                     # Application entry point
│   ├── gutargu-backend.csproj         # Backend project file
│
├── gutargu-frontend/                  # Frontend code (React)
│   ├── public/                        # Static assets (images, fonts, etc.)
│   ├── src/                           # React components and views
│   │   ├── components/                # Reusable components
│   │   └── services/                  # FE services (e.g., API service)
│   ├── package.json                   # Frontend dependencies
│   ├── tsconfig.json                  # TypeScript configuration
│   ├── tsconfig.app.json              # Application-specific TypeScript config
│   ├── tsconfig.node.json             # Node.js-specific TypeScript config
│   └── vite.config.ts                 # Vite config for frontend build
│
├── README.md                          # Project documentation
├── Screenshots                        # Project screenshots

Contributing

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature
  3. Make your changes.
  4. Commit your changes
    git commit -a 'Add new feature'
  5. Push to the branch
    git push origin feature/your-feature
  6. Create a new Pull Request.

License

This project is open-source and licensed under the GPL-3.0 license.

About

Gutargu is a simple real-time chat application built with .NET and React showcasing basic messaging functionality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published