Skip to content

Fast, free, secure, SEO optimized, adaptive web application with PWA support, based on Nuxt, Vue, Prisma & TypeScript. It's multi-language online browser game.

License

Notifications You must be signed in to change notification settings

rxMATTEO/Synohunt

Repository files navigation



GitHub top language GitHub package.json dependency version (dev dep on branch) GitHub package.json dependency version (dev dep on branch) Website GitHub deployments GitHub last commit (by committer) GitHub

Synohunt

Welcome to Synohunt!

It's a fast, free, secure, adaptive web application with PWA support.

Also, it's a fun and educational game for word lovers to test their knowledge of the languages, that allows users to create and solve challenges to find synonyms for words. We're supporting two languages and three difficulty levels.

img.png

Getting started

Clone the repository

git clone https://github.com/rxMATTEO/Synohunt.git

Install dependencies

cd synohunt
npm i

Configure your .env variables

So, if you're looking for a development environment, create and set up .env.development and if you're building a production environment, set up .env.production by this template:

# GITHUB API (optional, it's your GitHub OAuth keys, but you can skip it if you don't have it)
GITHUB_CLIENT_PUBLIC=your_github_public_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

# SQL
DATABASE_URL=your_database_url
POSTGRES_URL=your_postgres_url
POSTGRES_PRISMA_URL=your_postgres_prisma_url
POSTGRES_URL_NON_POOLING=your_postgres_url_non_pooling
POSTGRES_USER=your_database_user
POSTGRES_HOST=your_database_host
POSTGRES_PASSWORD=your_database_password
POSTGRES_DATABASE=your_database_name

# AUTH
AUTH_ORIGIN=your_auth_origin           # in development usually it's your localhost at 3000 port
VITE_AUTH_ORIGIN=your_vite_auth_origin # in development usually it's your localhost at 3000 port
NEXTAUTH_URL=your_nextauth_url         # in development usually it's your localhost at 3000 port
AUTH_SECRET=your_auth_secret           # hashed string

# ANALYTICS
GOOGLE_TAG=your_google_tag to analytics (optional)

# Replace the placeholders (your_github_public_client_id, your_github_client_secret, etc.) with the actual values for your environment variables. Additionally, ensure that you keep this file secure and do not share sensitive information.

Set Up Prisma:

After configuring your database connection:

  • Run migrations to create database tables:
npx prisma migrate dev

Start the Development Server

npm run dev

After build

Open your browser and visit http://localhost:3000 to see Synohunt in action.

Technologies Used

  • Nuxt 3: The SSR-friendly framework for building this web application.
  • Vue 3: The JavaScript framework for creating user interfaces.
  • Vite: A fast and efficient build tool.
  • Typescript: A typed superset of JavaScript for enhanced code quality.
  • Prisma: A modern database toolkit for Node.js and TypeScript.
  • Tailwind CSS: A utility-first CSS framework for building responsive designs.
  • PrimeVue: A UI component library for Vue.js.
  • PrimeFlex: A flexible CSS layout system for PrimeVue.
  • Pinia: A state management solution for Vue 3.
  • RSA end-to-end encryption: Used to secure user data and communication.

Features

  • Create and solve challenges to find synonyms for words.
  • Support for two languages: - English and Russian for now.
  • Three difficulty levels: Easy, Medium and Hard
  • End-to-End Encryption: RSA secure
  • Easy to Use: With a user-friendly interface and a vast database of words and synonyms, our online browser game offers endless hours of fun and learning. Join a vibrant community of language enthusiasts, compete for the top spot on the leaderboard, and discover just how expansive your vocabulary can be.
  • Points and Coins system to track your progress and earn rewards.
  • Leaderboard: Create a competitive element by displaying a leaderboard that ranks players based on their scores.

Performance

With the help of a Lighthouse, you can see how fast Synohunt is. img_2.png

Adaptive

Since it's using best and modern utility-first CSS frameworks like Tailwind and PrimeFlex, Synohunt is full compatible with any device and browser.

img_3.png

PWA Support

You can actually use a Synohunt as PWA. You can build the production version and try it by yourself or try it on site.

License

Released under the MIT license

About

Fast, free, secure, SEO optimized, adaptive web application with PWA support, based on Nuxt, Vue, Prisma & TypeScript. It's multi-language online browser game.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages