Scriptorium is a sophisticated web platform that modernizes the ancient concept of a scriptorium for the digital age. It provides developers with a secure environment to write, execute, and share code across multiple programming languages.
- Multi-language support (C, C++, Java, Python, JavaScript, Bash, TypeScript, Ruby, PHP, Go)
- Real-time syntax highlighting
- Live code execution with stdin input support
- Comprehensive error handling and display
- Secure isolated execution environment
- Automatic time and memory limits
- Secure JWT-based authentication
- User profile management
- Customizable avatar support
- Profile information editing
- Save and organize code snippets
- Template searching and filtering
- Tag-based organization
- Fork and modify existing templates
- Version tracking for forked templates
- Create and manage blog posts
- Link code templates within posts
- Comment system with nested replies
- Upvote/downvote functionality
- Advanced search capabilities
- Tag-based organization
- Report inappropriate content
- Administrative review system
- Content hiding functionality
- Transparent flagging system
- Responsive design for all devices
- Dark/light theme toggle
- Intuitive navigation
- Clean, modern interface
- Frontend: React, TailwindCSS
- Backend: Next.js, Prisma
- API: REST Framework
- Isolation/Security: Docker containerization
- Authentication: JWT
- Node.js 20+
- Docker
- Clone the repository
git clone https://github.com/faraazzz31/scriptorium.git
cd scriptorium
cd PP2- Set up the project - (install dependencies, build and run docker container, populate db)
./startup.sh- Run development server
npm run devVisit http://localhost:3000 to see the application in action.