Code Monkey home page Code Monkey logo

turkish-dictionary's Introduction

Turkish Dictionary

Project Aim

  • 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

Feature Roadmap

No spesific order yet.

  • Minigames to learn or practice Turkish Words and grammar such as randomized letters to find a word and more.
  • Contributing to the dictionary by adding pronunciations of the words, and requesting missing words, especially outdated ones, for changes in words.
  • Save and learn words. I'll add creating cards to learn words and integrate the saved words to be added to the cards quickly.
  • Requesting new features and giving feedback with ease.

Contribute to the project

  • Open issues to report bugs or request features. The guide for opening issues will be added soon.

The Tech Stack

  • create-t3-app with Next 13.5.2 app dir, tRPC, next auth, and drizzle. (Yes, I love type-safety!)
  • NextUI
  • nodemail
  • uploadthing to upload files
  • react hook form
  • next-intl for internationalization

Env Variables You Need

UPLOADTHING_SECRET= // See uploadthing.com to get started.
NODEMAIL_PASSWORD=
NODEMAIL_EMAIL=
DATABASE_URL= // postgres database URL
NEXTAUTH_SECRET= see https://next-auth.js.org/configuration/options#secret
NEXTAUTH_URL= http://localhost:3000
-oAuth Applications-
GOOGLE_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_CLIENT_ID=
DISCORD_CLIENT_SECRET=

turkish-dictionary's People

Contributors

4furki4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

turkish-dictionary's Issues

Implement Admin Dashboard

  • should have a page to add words to the database
  • should have a page to list all words to delete or edit
  • should have a page or modal for editing words

define initial user schema

provide a user schema which will have following fields

  • id
  • name
  • email
  • username
  • password (Optional since users can sign in with oAuth)
  • avatarUrl (Optional)
  • savedWords

add initial search mechanism

  • The search bar should stay on top of the screen even if a new page gets rendered by dynamic params.
  • So, to do that:
  • create new route group named search.
  • add a layout.tsx which will include the search bar.
  • add [word]/page.tsx to render word and their meanings

Add initial navbar and some links

Here are the links that should be in the navbar

  • Home
  • Word List
  • GitHub icon for the repo
  • Signup button that navigates to the signup page

Navbar behaviors:

  • hide it on scroll down
  • animated opening and closing menu on mobile

fix the input validation

  • make sure that users can't submit empty values
  • make sure that spaces removed
  • make any other necessary changes about the validation

add save word feature

  • add a save button on the top right to save the word.
  • implement Optimistic approach.
  • save the word id to the user's savedWords array.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.