A real-time, random chat application built with modern web technologies, allowing users to connect and chat instantly.
BradChat offers a seamless and engaging experience for connecting with new people.
- 💬 Real-time Messaging: Engage in instant conversations with other users through a responsive chat interface.
- 🤝 Random Matchmaking: Connect with new people through a simple and efficient matching system.
- 🚀 Lightweight & Responsive: Enjoy a smooth user experience across various devices and screen sizes.
- 📦 Modular Project Structure: Clear separation of frontend and backend for easier development and maintenance.
Follow these steps to set up BradChat on your local machine.
Ensure you have Node.js and npm (or Yarn) installed.
-
Clone the repository:
git clone https://github.com/TSMCIDevTest/BradChat.git cd BradChat -
Rename the backend example env to .env:
cp backend/exampleemv.txt backend/.env
-
Install Backend Dependencies:
Navigate to the
backenddirectory and install the required packages in the root of the repo.npm run build # or yarn install -
Install Frontend Dependencies:
Navigate to the
frontenddirectory and install the required packages in the root of the repo.npm run build # or yarn install -
Start the Backend Server:
From the
backenddirectory, start the server in the root of the repo.npm run dev # or node server.js (depending on your backend's main script)The backend server will typically run on
http://localhost:3000(or a similar port). -
Start the Frontend Development Server:
From the
frontenddirectory, start the development server in the root of the repo.npm run dev # or yarn startThe frontend application will usually open in your browser at
http://localhost:5173(orhttp://localhost:3000if using Create React App, etc.).
Once both the backend and frontend servers are running, open your web browser and navigate to the frontend URL (e.g., http://localhost:5173).
- Connect to a Chat: Upon loading the page, you will typically be prompted to connect or automatically matched with another user.
- Send Messages: Type your message in the input field at the bottom of the chat window and press Enter or click the send button.
- End Chat: Look for an option to disconnect or find a new chat partner if available.
A placeholder image showing the main chat interface where users can type and send messages.
BradChat is continuously evolving. Here are some of the planned features and improvements:
- Version 1.1 - DB setup and endpoints
- User authentication and message creation.
- Work on endpoints.
- Finish backend.
- Version 1.2 - Frontend
- Get the backend to connect frontend.
- Login and Signup.
- Chats page.
- Future Goals
- Deployment to a production environment.
- Scalability improvements for handling more concurrent users.
- Get this completely done and modernlized.
We welcome contributions to BradChat! To ensure a smooth collaboration process, please follow these guidelines:
- Adhere to a consistent code style (e.g., ESLint and Prettier configurations, if available).
- Ensure your code is well-commented and easy to understand.
- Use descriptive branch names:
feature/your-feature-namefor new features.bugfix/issue-descriptionfor bug fixes.docs/update-readmefor documentation changes.
- Fork the repository.
- Create a new branch from
main(ordevelopif applicable). - Commit your changes with clear and concise commit messages.
- Push your branch to your forked repository.
- Open a Pull Request against the
mainbranch of the original repository. - Provide a detailed description of your changes in the PR, linking to any relevant issues.
- If applicable, include unit or integration tests for new features or bug fixes.
- Ensure all existing tests pass before submitting a pull request.
This project currently does not have an explicit license.
Without a specific license, default copyright laws apply, meaning you generally do not have permission to use, distribute, or modify this software without explicit permission from the copyright holder(s) (TSMCIDevTest).
For inquiries regarding licensing or usage, please contact the main contributor.
Main Contributor: TSMCIDevTest
