Giter VIP home page Giter VIP logo

ankitrout2903 / swingyy Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 12.0 20.96 MB

Swingyy Chat App Swingyy is a real-time chat application that allows users to connect and communicate with their friends instantly. With Swingyy, you can send and receive messages in real-time, mark messages as seen or unseen, and stay updated with the online/offline status of your friends. Features: - User authentication: Sign up, log in, and lo

Home Page: https://swingyy-c0af7.web.app/

License: MIT License

JavaScript 79.81% HTML 2.52% CSS 17.67%
expressjs hacktoberfest mysql nodejs reactjs socket-io docker

swingyy's Introduction

Swingyy: Real-Time Chat Application ๐Ÿš€




Swingyy is a robust chat application that enables real-time messaging between users. It comes with a range of features including user authentication, friends list management, and message status tracking.

Table of Contents ๐Ÿ“š

Features ๐ŸŒŸ

  • User Authentication: Sign up, log in, and log out functionalities.
  • Friends List: View and manage your list of friends.
  • Real-Time Messaging: Send and receive messages instantly.
  • Message Status: Mark messages as seen or unseen.
  • User Status: Monitor the online/offline status of friends.
  • Profile Management: Upload and display your profile picture.

Technologies ๐Ÿ’ป

Frontend

  • React
  • React Router
  • Axios
  • Socket.IO Client

Backend

  • Node.js
  • Express.js
  • MySQL
  • Socket.IO
  • Docker

Styling ๐ŸŽจ

  • CSS

Cloud Services (Google Cloud Platform) โ˜๏ธ

  • Cloud Build: CI/CD pipeline
  • Cloud Run: Serverless deployment
  • Cloud SQL: MySQL database
  • Firebase: Google Authentication
  • Artifact Registry: Docker container registry
  • Cloud Storage: File storage
  • Docker ๐Ÿณ

Installation

  1. Clone the Repository

    git clone https://github.com/your-username/Swingyy.git
  2. Navigate to Project Directory

    cd chat-app
  3. Install Dependencies

    • Frontend:
      cd client
      npm install
    • Backend:
      cd Server
      npm install
  4. Configuration

    • Update MySQL connection details in backend/config/db.js.
    • Update Socket.IO server URL in frontend/src/utils/socket.js.
  5. Start Development Servers

    • Backend:
      cd client
      npm start
    • Frontend:
      cd Server
      npm start

    Open http://localhost:3000 in your browser.

Usage

  1. Sign up or log in.
  2. You'll be redirected to the chat interface.
  3. Your friends list appears on the left; click a friend to start chatting.
  4. Messages are real-time and auto-scroll to the latest.
  5. Click messages to mark as seen or unseen.
  6. Log out via the "Logout" button in the top-right corner.

Screenshots

Chat Interface Additional Screenshot

License

This project is licensed under the MIT License.

swingyy's People

Contributors

ankitrout2903 avatar v-nsh avatar gouravkumar13 avatar anishtiwari16 avatar fjuren avatar varun-sethi-dev avatar fardin7864 avatar sb-decoder avatar chaitanyakatore avatar jaiakash avatar ayush-tibrewal avatar villain45 avatar

Stargazers

Lakshini Kuganandamurthy avatar Yogiraj Pradip Patil avatar Zhazha_JiaYiZhen avatar Chelsea Quindipan avatar Animesh Gupta avatar Babun Shil avatar Harsh Chhachhia avatar Kaustab Chakraborty avatar Krish Panchani avatar  avatar Shweta Bhagat avatar

Watchers

Maida  avatar  avatar

swingyy's Issues

Modern UI Of Login page.

I want to apply some styles to make the "/login" page to make it look like a professional webpage.
For Example the text "Sign up with google" looks a bit compressed. I will remove the minor UI bugs and make it a clean UI.
Screenshot 2023-10-04 at 11 08 37 AM

Unused APIs

well I went through the code and saw a couple of issues, you've created APIs for login and registration but not using it ig? You are trying to show everyone on the DB except the user himself on the friends list, but I don't see you storing these registered people? Also I don't see any option to add friends too.

Display username instead of email

In the "Chat" page, I think it would be better to display the username instead of email in the "Logged in as ..." at the navbar. I'd like to work on this.

Register button on the Login Screen

There should be signup/register button or link on the login screen itself. This will enable users to register if they don't have an acount from the login screen itself.

Optimize Home Page

Assign me this issue so I can perform following task:

  • Better UI for home page
  • Users profile picture

Minor update to README

When setting up my workspace, I ran into a minor inconvenience following the readme.

Suggest changing git clone https://github.com/your-username/chat-app.git to git clone https://github.com/your-username/Swingyy.git

Please tag with hacktoberfest and assign to me @ankitrout2903.

Secure APIs with access tokens

Keeping in mind security practices, APIs should be secured by access tokens, which can be stored in browser of the user for access, and any new APIs must have this layer of security. @ankitrout2903 Can I start working on this ?

feat : ReadMe should be outside client folder

The project ReadMe should be outside of the client folder and should be directly in the project folder for everyone to see.
Also, the readMe should be tweaked a little to make it more interactive.

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.