Skip to content

Stella is a language learning chat app. With text and video features, it offers an immersive experience for spoken language improvement. Powered by Next.js, Tailwind CSS, Socket.IO, and more. Join us in creating a platform that connects and educates globally. 🌐✨

License

angelopedroso/stella

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stella Icon

Stella - Multilingual Chat Application

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.

Stella homepage

Key Features

  • 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.

Technologies Used

Client (Next.js, Tailwind CSS, ShadCN, React Hook Form, Zod, WebSocket, P2P)

  • 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.

Server (NestJS, Mongoose, Peer, Socket.io)

  • 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.

Getting Started

Follow the steps below to set up Stella on your local environment:

  1. Clone the Repository:

    git clone https://github.com/angelopedroso/stella.git
    cd stella
  2. Install Dependencies:

    cd client
    yarn
    cd ../server
    yarn
    cd ../peer-server
    yarn
  3. Configure Environment:

    • For the client, create a .env.local file in the client directory, and base it on .env.example with necessary configurations.
    • For the server, create a .env file in the server directory, and base it on .env.example with the required settings.
    • For the peer-server, create a .env file in the peer-server directory, and base it on .env.example with the required settings.
  4. 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
  5. Access Stella: Open your browser and navigate to http://localhost:3000 to access Stella.

Future Plans

  • Internationalization (i18n) for Other Languages: Make Stella accessible to users worldwide by implementing support for multiple languages.

Contribution

If you want to contribute to Stella, follow these steps:

  1. Fork this repository.
  2. Create a branch for your contribution: git checkout -b your-branch.
  3. Make the desired changes and add documentation if necessary.
  4. Commit your changes: git commit -m "Your message".
  5. Push your changes: git push origin your-branch.
  6. Open a pull request in this repository.

License

This project is licensed under the terms of the MIT License - see the LICENSE file for details.

About

Stella is a language learning chat app. With text and video features, it offers an immersive experience for spoken language improvement. Powered by Next.js, Tailwind CSS, Socket.IO, and more. Join us in creating a platform that connects and educates globally. 🌐✨

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published