Coder Social home page Coder Social logo

madu-de / maduchat Goto Github PK

View Code? Open in Web Editor NEW
9.0 0.0 3.0 2.56 MB

MaduChat is a chat application which has a global chat, friend system, settings and lots of other features

Home Page: https://madu-chat-frontend.vercel.app

License: GNU Affero General Public License v3.0

TypeScript 84.54% HTML 11.11% SCSS 2.79% JavaScript 1.19% Batchfile 0.05% Dockerfile 0.32%
angular api backend frontend jwt mysql nestjs pwa websocket open-source

maduchat's Introduction

πŸ’« About Me:

πŸ”­ I’m currently working on my socialmedia application MaduChat and my own book named How-To-WWW
🌱 I’m currently learning Angular and Nest.js
⚑ Fun fact: I like programming hehe

πŸ’» Tech Stack:

CSS3 HTML5 JavaScript TypeScript Netlify Angular NestJS Express.js NPM NodeJS SASS MySQL ESLint Notion

πŸ“Š GitHub Stats:




maduchat's People

Contributors

dependabot[bot] avatar izaananwar avatar madu-de avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maduchat's Issues

FEATURE: Frontend title and icon

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

Describe the solution you'd like
I want a title and icon for the page

image

BUG: Icon is changing without reason

Describe the bug
When I rename a chat, it automatically changes the chat group icon

To Reproduce
Steps to reproduce the behavior:

  1. Click on the pen next to a chat
  2. Click on save
  3. See error

Expected behavior
It should only change the icon when there are more than 2 members in the chat

Screenshots
image
image

FEATURE: Loadingbar in /settings

Is your feature request related to a problem? Please describe.
For now it doesnt show the loadingbar in /settings.

Describe the solution you'd like
Add a loadingbar to /settings

BUG: User is displayed in backand console (log)

Describe the bug
When you search for friends, the backend logs the result array.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '/friends'
  2. Click on 'Find friends'
  3. Search for someone
  4. The console will log the array

Expected behavior
It doesn't have to log something like this.

Screenshots
image
image

FEATURE: Activity, Stats and more

Describe the solution you'd like
I want users to be able to see their own activity and other stats like 'average messages per day,' 'active hours per day,' and more.
Maybe they can select in the settings between 'All users can see my stats', 'Only friends can see my stats', 'Only I can see my stats'.

Additional context
I guess in most cases is a graph the best option.

FEATURE: New find friends option like dating apps

Is your feature request related to a problem? Please describe.
You can only find users using the 'Find friends' tab in the 'Friends' feature or in the global chat.

Describe the solution you'd like
With this feature, a user can find new friends, similar to a dating app. It's positioned at the top features like 'public,' 'friends,' and 'settings'. Users can deactivate this feature for themselves. If they do, they will not be shown there and also cannot use it.

FEATURE: Account Batches

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

Describe the solution you'd like
I want account batches to be displayed as icons next to the name.
The first two come with this issue:

  • Account verification
  • Admin (more in other feature issues in the future)

Basically, both are a bool in the 'user' database.

FEATURE: Loadingbar while loading

Is your feature request related to a problem? Please describe.
If the user has a bad connection he doesnt know if the chat is loaded or not.

Describe the solution you'd like
Every page where data is loaded from the server shows a mat-progress-bar if the data is still loading.

Additional context
Same like in this commit at user.component.
image

BUG: Profile popup doesn't hide when I click outside

Describe the bug
Profile popup doesn't hide when I click outside.

To Reproduce
Steps to reproduce the behavior:

  1. Click on the profile button at the top right
  2. Click outside of the profile popup
  3. It doesn't close

Expected behavior
It has to close when I click outside

Screenshots
image

FEATURE: Manifest

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

Describe the solution you'd like
I want to have a manifest.json in the frontend.

FEATURE: Own feed in profile

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

Describe the solution you'd like
I want to have a public chat in every user profile that is readable for every user (or only for friends, depending on the settings). However, only the owner of the user profile should be able to write in it.

Additional context
Required: #1

FEATURE: Profilepictures

Is your feature request related to a problem? Please describe.
For now, every user has the default duck profile picture.

Describe the solution you'd like
I want every user to be able to change their profile picture in the settings or/and profile popup at the top right.

Additional context
Nest has a nice looking feature for it: https://docs.nestjs.com/techniques/file-upload

FEATURE: Default language

Is your feature request related to a problem? Please describe.
For now, the default language is English. Every time. Even when the client is in Germany.

Describe the solution you'd like
I want the default language to be based on the client's location.

FEATURE: Userpage

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

Describe the solution you'd like
Every user has to be an userpage under user/{userid}.
It shows userdata like

  • username
  • name
  • profilepicture
  • about me and more.

FEATURE: Online status in settings

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

Describe the solution you'd like
The user can choose options for their online status as follows:

  • Everyone can see my online status.
  • Only friends can see my online status.
  • No one can see my online status.

Additional context
Online status Issue: #70
Online status PR: #81

FEATURE: Snackbar after action

Is your feature request related to a problem? Please describe.
For now, the user doesn't receive any information after they perform an action.

Describe the solution you'd like
After any action the user performs, a snackbar is displayed with information about success or error. On success, it also displays an undo button.

Additional context
It is displayed for example on friend requests and deletions.
Angular Material has a module for it: https://material.angular.io/components/snack-bar/overview

BUG: User dont reload on changes on 'Find friends' tab

Describe the bug
When I send a friend request in the 'Find friends' tab, then remove it from the 'Sent' section in the 'Friend requests' tab, and go back to the 'Find friends' tab, the '-' button is still present. It should be changed to '+'.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Find friends'
  2. Search for someone
  3. Send a friendrequest with '+'
  4. Go to 'Friend requests'
  5. Click on '-' next to the added user
  6. Go back to 'Find friends'
  7. The '-' is still there

Expected behavior
It doesnt reload the user-list.

Screenshots
image
image
image

BUG: White bar at the bottom in mobile view

Describe the bug
When you use the app on mobile or resize the window to less than 600px, a small white bar appears at the bottom.

To Reproduce
Steps to reproduce the behavior:

  1. Resize the window to less then 600px
  2. See the white bar

Expected behavior
It doesnt have to be there.

Screenshots
image

FEATURE: Show on which tab the user is on

Is your feature request related to a problem? Please describe.
For now the user doesnt really know where he is when he looks at the sidebar.

Describe the solution you'd like
I want the user to see a marker on the sidebar indicating where he is, like a background or something on the tab he is on.

FEATURE: Chat Settings

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

Describe the solution you'd like
I want the owner of a chat can add/remove users from a chat. Same menu as in #47

VERSION: 1.1.1

Change every necessary version updates.

  • package.json
  • image

FEATURE: Add Languageservice to "Edit Chat" popup

Is your feature request related to a problem? Please describe.
For now the "Edit Chat" popup only supports english.

Describe the solution you'd like
I want the service to support all languages.

BUG: 404 Not Found❌

Describe the bug
When I build the project and navigate (manually) to a route like /chat/global or /settings

To Reproduce
Steps to reproduce the behavior:

  1. Build the project with ````npm run build+win-lux```
  2. Serve the /dist/frontend folder on a server
  3. Navigate to the server in your browser with a route like /settings
  4. See error

Expected behavior
It simply has to show the page.

Screenshots
image
image

BUG: Wrong error on register error

Describe the bug
When I register a user without a valid email it says "This user is already registered"

To Reproduce
Steps to reproduce the behavior:

  1. Click on 'Register'
  2. Use email 'madu@test' (without top-level-domain)
  3. See error after register

Expected behavior
An error like "The email is unvalid"

Screenshots
image

BUG: Chatname length

Describe the bug
For now the Chatname length can be 0 or 9999...

To Reproduce
Steps to reproduce the behavior:

  1. Click on the pen next to a chat
  2. Remove the name from the chat, leaving it with a long name or no name
  3. Save
  4. See error

Expected behavior
The length must be at least 1 and at most 20.

FEATURE: Electron compatibility

Is your feature request related to a problem? Please describe.
For now, the application is only accessible through a web browser.

Describe the solution you'd like
I want to add Electron to MaduChat in order to build the app in Electron and use it as an .exe, among other things.

BUG: Account change dont change the websocket

Describe the bug
When I change the account, MaduChat doesn't update the websocket, and I end up sending messages as the person who was logged in previously.

To Reproduce
Steps to reproduce the behavior:

  1. Login in a random account
  2. Logout
  3. Login in other account
  4. Send message in /chat/global
  5. See error

Expected behavior
MaduChat needs to delete the websocket connection and establish a new one when a user logs in.

FEATURE: Login/Register Errors

Is your feature request related to a problem? Please describe.
For now, the register/login page shows a default error like 'Password is required'

Describe the solution you'd like
Depending on the answer of the server it has to show a meaningful error like 'Password has to contain a number!'.

FEATURE: Change chatname

Is your feature request related to a problem? Please describe.
For now you cannot change the name of any chat.

Describe the solution you'd like
Every admin of the chat can change the name of the chat.

FEATURE: MatIcon warning

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

Describe the solution you'd like
It should not throw the warning.

image

FEATURE: Show own offline or online status

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

Describe the solution you'd like
I want the user to be able to see their internet connection in MaduChat!

BUG: The loading bar is not removed after loading

Describe the bug
The loading bar is not removed after loading at /friends?tab=0 when you search for nothing.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '/friends?tab=0'
  2. Click on the search icon
  3. See error

Expected behavior
Loading bar has to be removed after loading

Screenshots
image

FEATURE: Parameters on /friends

Is your feature request related to a problem? Please describe.
When I refresh the page on /friends, it doesn't retain the tab I was on.

Describe the solution you'd like
It should save the tab as a query parameter like '/friends?tab=1' or '/friends?tab=find-friends'.

BUG: Error isn't displayed

Describe the bug
On the register window, the 'name' and 'password' inputs don't throw an error when I don't type anything

To Reproduce
Steps to reproduce the behavior:

  1. Go to the register window
  2. Click on every input
  3. See error

Expected behavior
It has to throw an error like 'password is required'

Screenshots
image

FEATURE: Userpage Reviews

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

Describe the solution you'd like
Within the user page, there should be a reviews tab where other users can rate the user.

Additional context
Required: #1

More backend tests

For now, there are simple tests like 'it should be defined'. To provide the functionality of the backend, we have to add more tests.

BUG: WebSocket doesn't disconnect from the chat when you switch it

Describe the bug
The WebSocket doesn't disconnect from the chat when you leave. When you switch between chats multiple times, you may see a lot of repeated messages

To Reproduce
Steps to reproduce the behavior:

  1. Click on one chat
  2. Switch the chat
  3. Go back to the first chat
  4. Send a message
  5. See error

Expected behavior
The websocket has to leave the chat by switching

Screenshots
image

FEATURE: Add "+ Chat" Button

Is your feature request related to a problem? Please describe.
For now there is a '+ Chat' button in /user/:id that does nothing.

Describe the solution you'd like
I want this button to add a chat with both users as members.

BUG: Shows loadingbar for ever

Describe the bug
When I go to a chat that doesn't exist, it shows the loading bar forever.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a chat that not exists
  2. See error

Expected behavior
The loadingbar has to go

Screenshots
image

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.