WayWay was is a word learning app. I've created it to help me learn a new language after I couldn't find a word learning app that would satisfy my requirements. There are a few things that made me create WayWay:
- some apps have a lot of unnecessary (for me) configuration exposed to the user during the creation of the word entry
- some apps don't have learning modes that I prefer
- some apps have a UI that doesn't satisfy my requirements
- some apps don't have a freemium, or good enough premium for me
Before setting up the project, ensure you have the following installed and configured:
-
PostgreSQL Database
- A running PostgreSQL instance with a database created
- A database connection string
-
Bun Runtime
- Install the latest version of Bun for your operating system
-
Clerk
- Create a free account at Clerk
- Follow instructions to setup a Clerk application
-
Clone the repository and navigate to the project directory:
git clone <repository-url> cd <project-directory>
-
Install project dependencies:
bun install
-
Create your environment configuration:
cp .env.example .env
-
Open the
.env
file and configure the following variables:DATABASE_URL=<your-postgres-database-url>
-
If you plan to use AI features, add your OpenAI API key:
OPENAI_API_KEY=<your-openai-api-key>
-
Run database migrations
bun db:migrate
Please checkout clerk dashboard and documentation on how to setup the Next.js application.
You can find API keys here (look for Developers/API keys
): Dashboard
You would need to customize session token. To do that go to Session management/Sessions
and customize a token to look like this:
{
"name": "{{user.first_name}}",
"email": "{{user.primary_email_address}}",
"imgsrc": "{{user.image_url}}"
}
If you encounter any issues during setup or running the application, please check the following:
- Ensure all environment variables are correctly set in your
.env
file - Verify that PostgreSQL is running and accessible
For further assistance open an issue in the GitHub repository.
While I am figuring out how to approach this whole thing, please consider the following license
This project is licensed under the WayWay Non-Commercial License. You are free to use, modify, and self-host this software for personal, non-commercial purposes only.
For full terms and conditions, see the LICENSE file.