Thanks to visit codestin.com
Credit goes to github.com

Skip to content

polarfoxDev/strangui

Repository files navigation

strangui logo

A web-based daily word puzzle game in multiple languages.

strangui

This repository contains the frontend Angular code that powers stränge.games.polarnight.eu and strägar.games.polarnight.eu.

stränge.de Demo

Features

Other Components

Riddle Generation

The riddles are stored as JSON files on a simple web server.

Generation of them is done by a combination of some microservices:

  • redis or any other drop-in replacement for it – used as a message queue.
  • straenge-concept-worker – Generates concepts (super solution, theme and word pool) with OpenAI requests for the actual generator and adds them to the queue. not required, concepts can be provided manually.
  • straenge-riddle-worker – Generates riddles based on concepts from the queue. This part is pretty complex and computationally intensive, so it can take a while and can be parallelized by running multiple instances of this worker.
  • straenge-results-worker – Stores results from the queue to JSON files.

Tech Stack

Prerequisites

Before you begin to work on the project, ensure you have met the following requirements:

  • You have installed Node.js (which includes npm).
  • You have pnpm installed globally: npm install -g pnpm (or your preferred installation method).
  • You have the Angular CLI installed globally: pnpm install -g @angular/cli.

Getting Started

To get a local copy up and running, follow these simple steps.

Installation

  1. Clone the repository (replace polarfoxDev with the actual path if you fork it):

    git clone https://github.com/polarfoxDev/strangui.git
  2. Navigate to the project directory:

    cd strangui
  3. Install dependencies:

    pnpm install

Development

This project was generated using Angular CLI version 19.0.6.

Development server

To start a local development server, run:

pnpm run start:dev:<lang>

Once the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.

Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

ng generate component component-name

For a complete list of available schematics (such as components, directives, or pipes), run:

ng generate --help

Building

To build the project run:

npm build:<env>:<lang>

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Karma test runner, use the following command:

ng test

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue. Don't forget to give the project a star! Thanks!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

frontend code for Stränge/Strängar, a web app for playing daily word puzzles in German and Swedish

Resources

License

Stars

Watchers

Forks

Packages

No packages published