Welcome to Stella, your chat platform that makes communication in different languages easy and efficient. Stella allows text messages and video calls, providing an integrated and user-friendly chat experience.
-
Text Messages and Video Calls: Communicate through text messages or dive into a more personal experience with video calls.
-
Dark Mode: For a comfortable user experience in low-light environments, Stella offers an elegant dark mode.
-
Next.js 14: A React application framework that enables server-side rendering and provides an amazing development experience.
-
Tailwind CSS: A highly customizable, low-level CSS build tool.
-
ShadCN (Component Library): A library of reusable components that streamlines the development of consistent and appealing interfaces.
-
React Hook Form: A library for managing forms in React with ease.
-
Zod: A schema validation library for JavaScript.
-
WebSocket (socket.io): For real-time communication, providing a smooth and responsive chat experience.
-
P2P (PeerJS): Enabling peer-to-peer video calls for a more private and efficient experience.
-
NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
-
Mongoose: An object modeling library for MongoDB for Node.js.
-
Peer: A library that facilitates P2P connections.
-
Socket.io: A library that enables bidirectional real-time communication.
Follow the steps below to set up Stella on your local environment:
-
Clone the Repository:
git clone https://github.com/angelopedroso/stella.git cd stella
-
Install Dependencies:
cd client yarn cd ../server yarn cd ../peer-server yarn
-
Configure Environment:
- For the client, create a
.env.local
file in theclient
directory, and base it on.env.example
with necessary configurations. - For the server, create a
.env
file in theserver
directory, and base it on.env.example
with the required settings. - For the peer-server, create a
.env
file in thepeer-server
directory, and base it on.env.example
with the required settings.
- For the client, create a
-
Start the Applications:
-
Start the client:
cd client yarn dev
-
Start the server:
cd ../server yarn start:dev
-
Start the peer-server:
cd ../peer-server yarn start:dev
-
-
Access Stella: Open your browser and navigate to http://localhost:3000 to access Stella.
- Internationalization (i18n) for Other Languages: Make Stella accessible to users worldwide by implementing support for multiple languages.
If you want to contribute to Stella, follow these steps:
- Fork this repository.
- Create a branch for your contribution:
git checkout -b your-branch
. - Make the desired changes and add documentation if necessary.
- Commit your changes:
git commit -m "Your message"
. - Push your changes:
git push origin your-branch
. - Open a pull request in this repository.
This project is licensed under the terms of the MIT License - see the LICENSE file for details.