Version: 0.1.0
Muswaddaty is an open-source, block-based, collaborative online text editor inspired by Notion. It offers a rich and intuitive user interface for creating and editing content collaboratively.
- Collaborative real-time text editing.
- Block-based editor.
- User authentication and management.
- Responsive design.
- Export content to PDF.
- Theme support.
- Rich text formatting.
- Add support for more block types.
- Add support for inline code blocks.
- Add support for code blocks.
- Implement a revision history feature.
- Fix the Export documents in PDF format.
- Implement support for custom permissions and access control.
- Search functionality.
- Notifications.
- Mobile app.
You can try out Muswaddaty online here.
To run Muswaddaty locally, you'll need the following:
- Node.js 14.x or later
- PostgreSQL 16.x or later
- pnpm 8.14.1 or later
You'll also need to sign up for the following services:
- Liveblocks (for real-time collaboration)
- Vercel (for deployment)
Muswaddaty is built with the following technologies:
- Next.js (React framework)
- Tailwind CSS (CSS framework)
- Shadcn UI (UI components)
- Framer Motion (animations)
- React Hook Form (form management)
- Liveblocks (real-time collaboration)
- Prisma (ORM for database management)
- NextAuth.js (authentication)
- Node.js (runtime environment)
- TypeScript (static typing)
- ESLint (linting)
- Prettier (code formatting)
To get started with Muswaddaty, follow these steps:
- Clone the repository:
git clone https://github.com/mohamed-lifa7/muswaddaty.git
cd muswaddaty
- Install dependencies:
pnpm install
- Set up environment variables:
Create a .env
file in the root directory and add your environment variables. Refer to .env.example
for required variables.
- Push the database schema:
pnpm run db:push
- Generate Prisma client:
pnpm postinstall
- Start the development server:
pnpm run dev
Once the development server is running, you can access the application at http://localhost:3000
. Here are some basic operations you can perform:
- Create a new document: Click the "New Document" button on the homepage.
- Edit a document: Click on an existing document to open it in the editor.
- Collaborate: Share the document URL with others to start collaborating in real-time.
Here are some useful scripts you can use during development:
pnpm run build
: Build the project for production.pnpm run db:push
: Push the Prisma schema to the database.pnpm run db:studio
: Open Prisma Studio for database management.pnpm run dev
: Start the development server.pnpm run lint
: Run ESLint to check for linting errors.pnpm run lint:fix
: Fix linting errors automatically.pnpm run start
: Start the production server.
We welcome contributions from the community! To contribute to Muswaddaty, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes.
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
Please ensure your code adheres to the project's coding standards and passes all tests.
This project is licensed under the MIT License. See the LICENSE file for more details.
If you have any questions or suggestions, feel free to reach out to us:
Email: [email protected]
GitHub: Mohamed-lifa7
Or one of these :
Graduation poject framer Dr. Zaiz Fouazi
Project Contributor Ahmed Hafsi
Thank you for using Muswaddaty!