Code Monkey home page Code Monkey logo

chatterbox-pro's Introduction

ChatterBox Pro: Enhanced Chatting Experience with Weather Insights & Humor API

Introduction

Welcome to ChatterBox Pro, a state-of-the-art online chatting platform developed by team ut0r1d. We have four members: Qianfeng Wen@https://github.com/QianfengWen, Huiwei Pan@https://github.com/helenpan593, Taowen Qian@https://github.com/egoist-hozumi, Ruohan Ren@https://github.com/AmberR-pua. This system, crafted meticulously in Java, integrates the best practices of Clean Architecture and SOLID principles, ensuring a robust and scalable solution. ChatterBox Pro stands out by not just offering a seamless chatting experience but also enriching user interaction with real-time weather updates and a touch of humor through integrated APIs.

Features

  • Real-Time Chatting: Engage in dynamic conversations with a user-friendly interface.
  • Weather API Integration: Get current weather information for any city.
  • Joke Generator: Lighten the mood with randomly generated jokes.
  • MongoDB Backend: Reliable and efficient data management for user profiles, chat rooms, and message history.

System Architecture

ChatterBox Pro is built on a solid foundation of Clean Architecture and SOLID principles, ensuring separation of concerns and high maintainability. The system's architecture is designed to be modular, allowing for easy integration of additional features in the future.

Core Components:

  • User Management: Handles user authentication and profile management.
  • Chat Engine: The backbone of the platform, facilitating real-time messaging.
  • API Integrations:
    • Weather API: Provides live weather data.
    • Joke API: Sources a variety of jokes.

Installation

Prerequisites

  • Java JDK 11 or higher
  • MongoDB installed and running
  • Able to run Maven projects in IDE.

Steps

  1. Clone the repository
  2. Find pom.xml, right click it and set it to a Maven project, then right click it again and click reload project in the Maven option.
  3. Navigate to the project directory: src/main/java/chattingSystem/app/main.java
  4. Compile the project: Compile main.java
  5. Run the application: Run main.java

Usage

If you haven't have an account, please press the sign up button and create an account with a unique username and password. Then sign in with your account. After successful login, users will enter the chatroom view. Here, you can:

  • Start chatting with other users.
  • Use the Weather button to check the weather in a specified city.
  • Click on the Joke button to receive a random joke.

Contributions

This project is a collaborative effort of Qianfeng Wen, Huiwei Pan, Taowen Qian, Ruohan Ren.

License

ChatterBox Pro is open sources, which allows for personal and commercial use, modification, distribution, and private use.

chatterbox-pro's People

Contributors

amberr-pua avatar egoist-hozumi avatar helenpan593 avatar qianfengwen avatar

Watchers

 avatar

chatterbox-pro's Issues

An issue when the message is updated in real time.

When we changed the versions of and , we found that the entire project seemed to be compatible with the computer. But when running the program, I found that there seemed to be a problem with the layout of the real-time updated messages. I wonder if it was because the versions of and were changed. I hope to further explore and solve this unexpected situation.

The bugs on creating User.

The return null CommonUserFactory.
Remove pom.xml temporarily.
Specify the preparefailedview into prepareNameFailView, prepareInvalidPWFailView, prepareRepeatPWlView, also add message poped out for signup cannot success.

The problem in entities.

Revised the User module, fixed the compile and stylish problems and created 2 files: CommonUser and CommonUserFactory, meanwhile change User and UserFactory into interface.
Fixed some stylish problems in ChatRoom module.

Assemble everyone's initial work.

  • Revised the User module, fixed the compile and stylish problems
  • Created 2 files: CommonUser and CommonUserFactory, meanwhile change User and UserFactory into interface.

some style issue

There are some code in both Weather and Joke API call are unused, try to delete them. Also some name need to be changed to match the whole file naming style

Send message store issue

The message cannot store on the local. Try to use the same way as user storage to solve this problem.

Fix some error issue in weather case

Now we have successfully do the coding work for our program to get the Weather Report by Weather Api call. Now it works when enter proper existing city. But there is still some issue left to fix about the error message and what should a fail view look like when enter a non-existing city or something else. The error is in the DataAccessObject about Weather Api

A issue about the overall project.

So far, our latest version of the project has successfully implemented the creation of chat rooms, sending and receiving messages, and viewing weather reports. However, the project also has certain problems. When the entire file is run on different computers or laptops, sometimes the program cannot be run as scheduled because the versions of and in pom.xml are not compatible with all computers. . Consideration should be given to adjusting the version appropriately to make the program compatible.

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.