This project is a web-based writing tool developed as part of the assessment given by Applyin.co for an internship role. The tool allows users to create and edit documents using text blocks and picture blocks in a simple and intuitive interface.
- Interface Design: Utilizes a black and white color scheme with Times Roman font (size 12) for text display. Implemented using Ant Design library, TailwindCSS and Framer Motion for frontend development which include draggable cards.
- Block Functionality: Users can add text blocks or picture blocks to the document, with a maximum of 250 words per text block. Blocks can be rearranged or inserted at specific positions.
- Dynamic Block Management: Users can add multiple blocks and create new blocks above or below existing ones.
- Editing Tools: Feature includes basic text editing tools such as bold, italic, underline and code block.
- Responsive Design: The tool is responsive and works well on different screen sizes.
- Frontend Framework: Developed using React framework, utilizing React hooks, state management, and component lifecycle.
- Code Quality: Clean and well-documented code adhering to best coding practices and design patterns relevant to React.
- Vite
- React.ts
- Tailwind CSS
- Ant Design
- Framer Motion
- React Icons
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Abhijitkr/Web-Based-Writing-Tool.git
-
Navigate to web-based-writing-tool
cd web-based-writing-tool
-
Install Dependencies
npm install
-
Run the application
npm run dev
The development server will start, and you can access the application by visiting http://localhost:5173
in your web browser.
- Navigate to Web Based Writing Tool or setup locally using the above process.
- Click on the "Add Block" button to start adding content blocks to the document.
- Choose between text blocks or picture blocks also choose if you want to create single or multiple blocks at the same time and enter content accordingly.
- Rearrange or insert blocks as needed using the provided functionality.
- Also can add content blocks above of below the current content block.
- Utilize optional editing tools if enabled.
- Ensure responsive design by testing the tool on different screen sizes.
- Learned AntDesign
- Implementing Picture adding feature
- Inserting content and implement basic editors: Explored TipTap Rich Editor.
- Inserting cards at any position (above/below)
- Hovering and Focusing the Text content of card to show the basic tools
- Making the cards/blocks draggable: Explored Framer Motion.
- Collaborative Editing
- Export and Import Options
- Customizable Themes and Styling
- Include backend/local storage to save the changes
- Spelling and Grammar Check
If you have any questions or just want to connect below are my contacts Twitter(X), LinkedIn.