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!
🔹 🏛️ Architectural Decision Records (ADR)
The project was developed using the following technologies:
Before you begin, ensure you have the following installed:
- Node.js: (Latest LTS version recommended) - https://nodejs.org/
- npm: (Included with Node.js) - Check version with
npm -v - Git: (For cloning the repository) - https://git-scm.com/
-
Clone the repository:
git clone https://github.com/mulirow/desenvolvimento-de-software.git cd desenvolvimento-de-software -
Install dependencies:
npm install
-
Configure Environment Variables:
-
Create a
.envfile 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
-
-
Start the development server:
npm run dev
-
Access the application:
Open your web browser and navigate to
http://localhost:3000(or the port specified in your terminal).
This project uses Cypress for end-to-end testing.
-
Install Cypress dependencies (if not already installed):
npm install cypress --save-dev
-
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
-
-
Writing Tests:
Cypress tests are located in the
cypressdirectory. Refer to the Cypress documentation for guidance on writing tests: https://www.cypress.io/
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
If you encounter any issues or have questions, please don't hesitate to reach out:
• GitHub Issues • Email: [mbn2@cin.ufpe.br]
This project is actively being developed. Stay tuned for new features!
To contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b dev/your-feature-name - Commit your changes:
git commit -m 'feat: add your feature or fix' - Push to the branch:
git push origin dev/your-feature-name - 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.