Skip to content

Commit aa2c441

Browse files
Contribution_Updates
1 parent bbabf3e commit aa2c441

4 files changed

Lines changed: 307 additions & 15 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex, gender characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
- Using welcoming and inclusive language
12+
- Being respectful of differing viewpoints and experiences
13+
- Gracefully accepting constructive criticism
14+
- Focusing on what is best for the community
15+
- Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
- The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
- Trolling, insulting/derogatory comments, and personal or political attacks
21+
- Public or private harassment
22+
- Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
- Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
## Attribution
42+
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html][version]
44+
45+
[homepage]: https://www.contributor-covenant.org
46+
[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

CONTRIBUTING.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Contributing to Echo
2+
3+
First off, thanks for taking the time to contribute! ❤️
4+
5+
All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions.
6+
7+
## Table of Contents
8+
9+
- [Code of Conduct](#code-of-conduct)
10+
- [I Have a Question](#i-have-a-question)
11+
- [I Want To Contribute](#i-want-to-contribute)
12+
- [Reporting Bugs](#reporting-bugs)
13+
- [Suggesting Enhancements](#suggesting-enhancements)
14+
- [Your First Code Contribution](#your-first-code-contribution)
15+
16+
## Code of Conduct
17+
18+
This project and everyone participating in it is governed by the [Echo Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
19+
20+
## I Have a Question
21+
22+
If you want to ask a question, we assume that you have read the available [Documentation](README.md).
23+
24+
Before you ask a question, it is best to search for existing [Issues](https://github.com/TarunyaProgrammer/Echo-FullstackDeplayed-ChatNow/issues) that might help you. In case you've found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
25+
26+
If you then still feel the need to ask a question and need clarification, we recommend you:
27+
28+
- Open an [Issue](https://github.com/TarunyaProgrammer/Echo-FullstackDeplayed-ChatNow/issues/new).
29+
- Provide as much context as you can about what you're running into.
30+
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.
31+
32+
We will then take care of the issue as soon as possible.
33+
34+
## I Want To Contribute
35+
36+
### Reporting Bugs
37+
38+
#### Before Submitting a Bug Report
39+
40+
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.
41+
42+
- Make sure that you are using the latest version.
43+
- Read [Documentation](README.md) to find out if the functionality is actually intended.
44+
- Perform a search to see if the issue has already been reported. If it has, add a comment to the existing issue instead of opening a new one.
45+
- Collect information about the bug:
46+
- Stack trace (Traceback)
47+
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
48+
- Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
49+
- Possibly your input and the output
50+
- Can you reliably reproduce the issue? And can you also reproduce it with older versions?
51+
52+
#### How Do I Submit a Good Bug Report?
53+
54+
> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to the maintainers.
55+
56+
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
57+
58+
- Open an [Issue](https://github.com/TarunyaProgrammer/Echo-FullstackDeplayed-ChatNow/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
59+
- Explain the behavior you would expect and the actual behavior.
60+
- Please provide as much context as possible and describe the _reproduction steps_ that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
61+
- Provide the information you collected in the previous section.
62+
63+
### Suggesting Enhancements
64+
65+
This section guides you through submitting an enhancement suggestion for Echo, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
66+
67+
#### Before Submitting an Enhancement
68+
69+
- Make sure that you are using the latest version.
70+
- Read [Documentation](README.md) to find out if functionality is already covered.
71+
- Perform a search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
72+
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
73+
74+
#### How Do I Submit a Good Enhancement Suggestion?
75+
76+
Enhancement suggestions are tracked as [GitHub issues](https://github.com/TarunyaProgrammer/Echo-FullstackDeplayed-ChatNow/issues).
77+
78+
- Use a **clear and descriptive title** for the issue to identify the suggestion.
79+
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
80+
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives you do not work for you.
81+
- You may include screenshots and animated GIFs which help you demonstrate the steps or point out the part which the suggestion is related to.
82+
- Explain why this enhancement would be useful to most Echo users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
83+
84+
### Your First Code Contribution
85+
86+
#### Pull Request Process
87+
88+
1. Fork the repo and create your branch from `main`.
89+
2. If you've added code that should be tested, add tests.
90+
3. If you've changed APIs, update the documentation.
91+
4. Ensure the test suite passes.
92+
5. Make sure your code lints.
93+
6. Issue that pull request!
94+
95+
## Attribution
96+
97+
This guide is based on the **contributing-gen**. [Make your own](https://github.com/bttger/contributing-gen)!

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Tarunya K
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 143 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,152 @@
1-
# Echo
1+
# Echo - Real-Time Chat Application
22

3-
Echo is a real-time chat application with a React frontend and Express backend.
3+
Echo is a modern, real-time messaging application built with the **MERN stack** (MongoDB, Express.js, React, Node.js). It features secure authentication, instant messaging via Socket.io, and a sleek, responsive UI powered by Tailwind CSS and Framer Motion.
44

5-
## Structure
5+
## 🚀 Features
66

7-
- `client/`: React Frontend (Vite)
8-
- `server/`: Express Backend
7+
- **Real-time Messaging**: Instant delivery of messages using Socket.io.
8+
- **User Authentication**: Secure signup and login with JWT and BCrypt.
9+
- **Responsive Design**: Mobile-friendly interface built with Tailwind CSS.
10+
- **State Management**: Efficient global state handling with Zustand.
11+
- **Interactive UI**: Smooth animations with Framer Motion and 3D elements with React Three Fiber.
12+
- **Notifications**: Real-time alerts using React Hot Toast.
913

10-
## Getting Started
14+
## 🛠️ Tech Stack
15+
16+
### Client (Frontend)
17+
18+
- **Framework**: React 19 (via Vite)
19+
- **Styling**: Tailwind CSS v4
20+
- **State Management**: Zustand
21+
- **Routing**: React Router v7
22+
- **Real-time**: Socket.io-client
23+
- **HTTP Client**: Axios
24+
- **Animations**: Framer Motion, React Three Fiber
25+
26+
### Server (Backend)
27+
28+
- **Runtime**: Node.js
29+
- **Framework**: Express.js
30+
- **Database**: MongoDB (Mongoose)
31+
- **Real-time**: Socket.io
32+
- **Authentication**: JSON Web Tokens (JWT)
33+
34+
---
35+
36+
## 🏁 Getting Started
37+
38+
Follow these instructions to set up the project locally on your machine.
39+
40+
### Prerequisites
41+
42+
Ensure you have the following installed:
43+
44+
- [Node.js](https://nodejs.org/) (v18 or higher recommended)
45+
- [MongoDB](https://www.mongodb.com/) (Local or Atlas URL)
46+
- [Git](https://git-scm.com/)
47+
48+
### 1. Clone the Repository
1149

12-
### Client
1350
```bash
14-
cd client
15-
npm install
16-
npm run dev
51+
git clone https://github.com/TarunyaProgrammer/Echo-FullstackDeplayed-ChatNow.git
52+
cd Echo-FullstackDeplayed-ChatNow
1753
```
1854

19-
### Server
20-
```bash
21-
cd server
22-
npm install
23-
npm start
55+
### 2. Backend Setup (Server)
56+
57+
1. Navigate to the server directory:
58+
59+
```bash
60+
cd server
61+
```
62+
63+
2. Install dependencies:
64+
65+
```bash
66+
npm install
67+
```
68+
69+
3. Create a `.env` file in the `server` directory and add the following configuration:
70+
71+
```env
72+
PORT=5000
73+
MONGODB_URI=your_mongodb_connection_string
74+
JWT_SECRET=your_super_secret_key
75+
```
76+
77+
> **Note**: Replace `your_mongodb_connection_string` with your actual MongoDB URI.
78+
79+
4. Start the server:
80+
```bash
81+
npm run dev
82+
```
83+
The server should run on `http://localhost:5000`.
84+
85+
### 3. Frontend Setup (Client)
86+
87+
1. Open a new terminal and navigate to the client directory:
88+
89+
```bash
90+
cd ../client
91+
```
92+
93+
2. Install dependencies:
94+
95+
```bash
96+
npm install
97+
```
98+
99+
3. **Important Configuration**:
100+
By default, the frontend interacts with the deployed backend. To run it locally, you need to update the API base URL.
101+
102+
Open `client/src/services/api.js` and uncomment the local URL:
103+
104+
```javascript
105+
const api = axios.create({
106+
baseURL: "http://localhost:5000/api", // Use this for local development
107+
// baseURL: "https://echo-fullstackdeplayed-chatnow.onrender.com/api",
108+
});
109+
```
110+
111+
4. Start the development server:
112+
```bash
113+
npm run dev
114+
```
115+
The client should be available at `http://localhost:5173`.
116+
117+
---
118+
119+
## 📂 Project Structure
120+
121+
```
122+
Echo/
123+
├── client/ # Frontend React Application
124+
│ ├── src/
125+
│ │ ├── components/ # Reusable UI components
126+
│ │ ├── context/ # React Context (Auth, Socket)
127+
│ │ ├── hooks/ # Custom React Hooks
128+
│ │ ├── pages/ # Application Pages (Login, Chat, etc.)
129+
│ │ ├── services/ # API and Socket services
130+
│ │ ├── App.jsx # Main App component with Routes
131+
│ │ └── main.jsx # Entry point
132+
│ ├── index.html
133+
│ └── vite.config.js
134+
135+
├── server/ # Backend Express Application
136+
│ ├── config/ # DB Configuration
137+
│ ├── controllers/ # Route logic
138+
│ ├── middleware/ # Auth and Error handling
139+
│ ├── models/ # Mongoose Models (User, Message)
140+
│ ├── routes/ # API Routes
141+
│ ├── socket/ # Socket.io handlers
142+
│ └── server.js # Server Entry point
143+
└── README.md
24144
```
145+
146+
## 🤝 Contributing
147+
148+
Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) for details on how to submit pull requests.
149+
150+
## 📄 License
151+
152+
This project is licensed under the [MIT License](LICENSE).

0 commit comments

Comments
 (0)