Skip to content

Oussema39/echoes

Repository files navigation

Echoes - Real-Time Collaboration Platform

Welcome to Echoes, a modern real-time collaboration tool designed for seamless document creation, editing, and sharing. Echoes enables users to freely document their thoughts, share files, and work together effectively on collaborative projects, similar to Google Docs.

Table of Contents


Features

  • Document Creation & Editing: Compose documents with rich text and save changes in real-time.
  • Collaboration & Sharing: Share documents with other users, granting permissions for actions like read, write, delete, and share.
  • User Authentication: Secure authentication with registration, login, and email verification.
  • Version Control: Track changes with a changelog for each document, offering a history of edits and updates.
  • Role-Based Permissions: Assign specific permissions to collaborators to control document access and actions.
  • Responsive UI: Designed to be fully responsive and accessible across multiple device types.

Tech Stack

  • Frontend: React.js, CSS, HTML
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JWT, Email verification
  • Request Validation: Joi
  • Other Tools: Docker (for containerization), GitHub (for version control)

Setup and Installation

To get started with Echoes on your local machine, follow these steps:

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (locally or hosted instance)
  • Git

Installation

  1. Clone the Repository

    git clone https://github.com/Oussema39/echoes.git
    cd echoes
  2. Install Dependencies

    npm install
  3. Set Up Environment Variables

    • Create a .env file in the root directory.
    • Add the following environment variables:
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret
    EMAIL_USER=your_email_address
    EMAIL_PASS=your_email_password
    
  4. Run the Application

    npm start

The app should now be running on http://localhost:3000.

Usage

Authentication

  • Registration: Users can register by providing an email and password, followed by email verification.
  • Login: Authenticated users can access their documents and begin editing or sharing.

Document Management

  • Create/Edit Documents: Users can create new documents or edit existing ones with real-time saving.
  • Sharing & Permissions: Set up permissions when sharing a document, allowing specific collaborators to read, write, delete, or share.

Changelog

Each document maintains a changelog, allowing users to track modifications made over time.

Contributing

We welcome contributions to improve Echoes! To contribute, please:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add your feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Create a pull request.

For significant changes, please open an issue first to discuss what you would like to add or change.

License

This project is licensed under the MIT License. See the LICENSE file for more details.


Thank you for using Echoes! If you have any questions or suggestions, please feel free to reach out.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published