Skip to content

mulirow/desenvolvimento-de-software

Repository files navigation

🕷 ArachWrite

ArachWrite is a collaborative text editor that integrates AI to assist writers. The AI provides suggestions, analyses, and revisions on texts in development, helping to improve writing and script structure. Imagine it as your AI writing assistant, woven right into your collaborative workspace!

📖 Table of Contents

🔹 🚀 Technologies Used

🔹 📋 Requirements

🔹 💾 Installation Instructions

🔹 ⚡ Usage Instructions

🔹 🧪 Testing

🔹 🏛️ Architectural Decision Records (ADR)

🔹 📚 Support Information

🔹 📌 Project Status

🔹 🤝 Contribution Guidelines

🚀 Technologies Used

The project was developed using the following technologies:

🛠️ Technology Description
TypeScript Primary programming language.
Next.js React framework for building the user interface.
Tailwind CSS Utility-first CSS framework.
MongoDB Database for storing application data.
Google AI Studio AI Platform providing suggestions, analysis, and revisions.
Vercel Platform for deployment and hosting.
Cypress End-to-end testing framework.

📋 Requirements

Before you begin, ensure you have the following installed:


💾 Installation Instructions

  1. Clone the repository:

    git clone https://github.com/mulirow/desenvolvimento-de-software.git
    cd desenvolvimento-de-software
  2. Install dependencies:

    npm install
  3. Configure Environment Variables:

    • Create a .env file in the root directory.

    • Add the necessary environment variables:

      MONGODB_URI=your_mongodb_connection_string
      GOOGLEAI_API_KEY==your_google_ai_api_key
      LIVEBLOCKS_SECRET_KEY=your_liveblocks_secret_key
      NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY=your_liveblocks_public_key
      

⚡ Usage Instructions

  1. Start the development server:

    npm run dev
  2. Access the application:

    Open your web browser and navigate to http://localhost:3000 (or the port specified in your terminal).

🧪 Testing

This project uses Cypress for end-to-end testing.

  1. Install Cypress dependencies (if not already installed):

    npm install cypress --save-dev
  2. Run Cypress:

    You can run Cypress in different modes:

    • Open Cypress UI: This opens the Cypress Test Runner, allowing you to run tests interactively.

      npm run cypress:open
    • Run Cypress in headless mode (for CI/CD): This runs the tests in the command line without a UI.

      npm run cypress:run
  3. Writing Tests:

    Cypress tests are located in the cypress directory. Refer to the Cypress documentation for guidance on writing tests: https://www.cypress.io/

🏛️ Architectural Decision Records (ADR)

This section documents the important architectural decisions made during the development of ArachWrite.

  • ADR-0000 - Use Markdown to Document ADRs
  • ADR-0001 - Use Next.js as the frontend framework
  • ADR-0002 - Adopt MongoDB as the database technology
  • ADR-0003 - Integration with Google AI Studio
  • ADR-0004 - Use Tailwind CSS for UI stylization

📚 Support Information

If you encounter any issues or have questions, please don't hesitate to reach out:

•⁠ ⁠GitHub Issues •⁠ ⁠Email: [mbn2@cin.ufpe.br]

📌 Project Status

Current Status: 🚀 In Progress

This project is actively being developed. Stay tuned for new features!

🤝 Contribution Guidelines

To contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b dev/your-feature-name
  3. Commit your changes: git commit -m 'feat: add your feature or fix'
  4. Push to the branch: git push origin dev/your-feature-name
  5. Open a Pull Request: Submit a pull request with a clear description of your changes.

Guidelines:

  • Follow our coding style and conventions.
  • Write clear and concise commit messages.
  • Ensure your code is well-documented.
  • Test your changes thoroughly.

About

Repositório do projeto de Desenvolvimento de Software - CIN0136 2024.2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •