A simple web chat application
- π Features
- ποΈ Architecture
- π οΈ Tech Stack
- π¦ Dependencies
- πββοΈ Running Guide
- π Environment Variables Settings
- π¬ Contribution
- Secure user login and registration (Email and Password)
- Instant messaging with real-time updates
- List user friends
- Remove user friends
- Send chating invites for others users
- Accept invites sent for you
- Deny invites sent for you
- Message notification
- Receive invite notification
- Invite accepted notification
- Change to web directory
cd web
- Installing Packages
npm install
- Run project
npm run dev
β Web project will be available at: http://localhost:5173
- Change to api directory
cd api
- Installing Packages
npm install
- Start PSQL using docker
docker compose up -d
- Run project
npm run dev
- Login using a mock user (optional)
- βοΈ Email: john.smith@example.com
- π Password: johnSmith123
- Database Vizualization (optional)
npx prisma studio
β API will be available at: http://localhost:3000
- Create a file .env.local file inside web folder
VITE_API_BASE_URL
- You can use http://localhost:3000 in development environment
- If you need to add more variables, it will need to start with VITE
- Ex: VITE_FIREBASE_STORAGE_BUCKET
- Create a file named .env inside api folder
DATABASE_URL
- You can set as postgresql://admin:admin@localhost:6332/mychaty?schema=public in development environment
JWT_SECRET
If youβve found a bug or have a suggestion to improve MyChaty, weβd love to hear from you! Please follow the steps below to create a new issue:
-
Check existing issues: Before creating a new issue, please check if someone has already reported the same problem or suggested something similar. This helps avoid duplicates and fosters better collaboration.
-
Create a new issue:
- Go to the Issues tab of the repository.
- Click the New issue button.
- Choose the lable of issue: bug, enhancement, API, WEB or other.
- Include steps to reproduce the bug, details about the environment where it occurred, or a clear description of the suggestion.
-
Issue details:
- For bugs: Provide a clear description of the problem, steps to reproduce, expected results, and observed results.
- For suggestions: Describe the desired functionality, how it would benefit users, and, if possible, an idea of how to implement it.
-
Follow your issue: After creating the issue, keep an eye on it to see if anyone from the team or other contributors have added comments or questions. Be available to provide more information if needed.
-
Contribute to the solution: If you are willing and able, feel free to work on the solution and submit a Pull Request related to your issue.
We welcome contributions to MyChaty! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request.