- The world and languages we use to understand the world are always changing, especially in the modern world. My goal is to create an engaging, non-native speaker-friendly, and up-to-date Turkish dictionary, by also consulting with experts in fields such as science.
- I'll follow the dictionary book that's been used in the Official Turkish Dictionary
Current and planned features:
- Minigames to learn or practice Turkish words and grammar
- Randomized letter puzzles to find words
- More games coming soon!
- Community contributions
- Word pronunciations
- Missing word requests
- Word change suggestions
- Visual aids and images for words and meanings
- Personal learning tools
- Save words for later
- Flashcard creation system
- Quick integration of saved words into learning cards
- User feedback system
- Easy feature requests
- Intuitive feedback submission
- Visual learning support
- Images for words to enhance understanding
- Visual context for different word meanings
- User-contributed image suggestions
- Frontend & Backend
- Next.js (App Router) with React 18
- create-t3-app stack
- tRPC for type-safe API
- NextUI for modern UI components
- next-intl for internationalization
- PostgreSQL database
- NextAuth for authentication
- Multiple OAuth providers (Google, GitHub, Discord)
- Nodemailer for email functionality
- Uploadthing for file uploads
- React Hook Form for form handling
- Docker support for development environment
- Node.js
- Docker and Docker Compose (for local development)
- PostgreSQL (automatically handled by Docker)
-
Clone the repository
-
Copy the
.env.example
file to.env
and fill in the required variables -
Start the development environment:
docker-compose up -d # Starts PostgreSQL database npm install # Install dependencies npm run dev # Start development server
# Database
DATABASE_URL= # PostgreSQL connection URL
# Authentication
NEXTAUTH_SECRET= # See https://next-auth.js.org/configuration/options#secret
NEXTAUTH_URL= # http://localhost:3000 for local development
# OAuth Providers
AUTH_DISCORD_ID=
AUTH_DISCORD_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
# Login via Email (Magic Link)
EMAIL_SERVER_USER=
EMAIL_SERVER_PASSWORD=
EMAIL_SERVER_HOST=
EMAIL_SERVER_PORT=
EMAIL_FROM=
# File Upload
UPLOADTHING_SECRET= # From uploadthing.com
# Email
NODEMAIL_PASSWORD=
NODEMAIL_EMAIL=
We welcome contributions! Please check our issues page for current tasks or bug reports. A detailed contribution guide will be added soon.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:
- You can use, modify, and distribute this software.
- If you modify and use this software in a network service (like a web application), you must make the complete source code available to users.
- Any modifications must also be licensed under AGPL-3.0.
- Full license terms can be found in the LICENSE file.