Evame is an open-source project that helps people share knowledge by providing translations, footnotes and explanations for user-submitted texts. Our goal is to open doors to stories and ideas for everyone.
/
├── next/ # Main web application
│ ├── src/ # Source code
│ ├── prisma/ # Prisma schema and migrations
│ └── public/ # Static files
└── components/ # Chrome extension (currently empty)
Most development happens inside next/. Shared UI components live in next/src/components/ui, while feature specific code is under next/src/features.
- TypeScript
- Shadcn UI (Radix UI)
- Tailwind CSS
- Prisma ORM with PostgreSQL
- NextAuth for authentication
- next-intl for i18n
- TipTap editor
- LLM based translation services
- Article submission
- LLM powered translation
- Saving and voting on translations
- Reader mode with user translations
- Improved layout for parallel translations
- Footnotes
- Highlighting
- Multi-format support: HTML, PDF, EPUB, plain text
- Chrome extension
- Advanced NLP features such as dictionary lookups
-
Clone this repository:
git clone https://github.com/ttizze/evame.git -
Install dependencies:
cd evame cd next bun i -
Create and set up the environment variables file:
cp .env.example .env openssl rand -base64 32Add the generated string to
.env. -
Start Docker:
docker compose up -d
-
Run database migrations and seed:
cd next bunx prisma migrate dev bun run seed -
Start the development server:
bun run dev
-
Open
http://localhost:5173in your browser.
For local development you can log in at /auth/login using [email protected] and devpassword. This shortcut is disabled in production.
We welcome contributions of all kinds. See CONTRIBUTING.md for details.
This project is released under the MIT License. See LICENSE for details.
Questions or suggestions? Open an issue or join our Discord.