Skip to content

amsuu/INDP

Repository files navigation

INDP

🚧🚧 Under Construction 🚧🚧 — see Discussions

(This project was generated with Angular CLI version 16.2.6.)

(subsequently updated to 18.1.0... badly ...see d296350)

INDP stands for "Interslavic Noun Declension Practice". It was created for learners of the Interslavic (ISV) language, so that they can have a special place to practice cases and noun declension. This is useful for speakers of languages without cases or with fewer cases than ISV, as well as to clear up ambiguities of case uses between slavic languages (for example, in one scenario, Russian may use the dative, but Polish - the accusative).

For more information on the Interslavic language, visit http://steen.free.fr/interslavic/history.html

Getting started (for users)

The project isn't fully finished yet, but to have a play around with the bits that are working, go to https://amsuu.github.io/INDP.

Getting started (for developers)

Prerequisites

  • A fairly new LTS version of NodeJS and NPM (Node Package Manager). (Node Version Manager or NVM is also reccomended for installing them but not required)
  • Git CLI, or any way to execute git commands from your machine.
  • Angular CLI installed via NPM (If not installed by following the below instructions)
  • All others will be installed by NPM from the file package.json

Setting up development enviroment

  • Make a fork of the repo

(If you're new to Git/GitHub, read the "Contributing to a Project" Guide by GitHub, for the generally reccomended Git workflow)

Using terminal (untested)

Enter inside the directory in which you want the project folder to be

cd {dir of your choice}

After forking the repo, clone your fork using Git CLI, and enter the folder: (Replacing {Your Name} with your github username)

git clone https://github.com/{Your Name}/INDP
cd INDP

Finally install the packages required by the repo using NPM. The main ones that will be installed are Angular, Angular CLI, Typescript, and SASS.

npm install

(Note to self: the other packages, which are not related to angular core etc., but are still installed, are a result of my debugging and should really be cleaned up.)

Using VSCode Source control (untested)

  • After forking the repo, clone your fork repository at link https://github.com/{YOUR NAME}/INDP following this guide by microsoft.

  • After that, create a branch to work on (same guide).

  • Then, a simple npm install command in the integrated terminal to install the dependencies should be enough.

Development server

Run npm run start or ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Run npm run start-open to run a dev server on your local IP (WARNING: this may pose security vulnerabilities to your network as outlined in the warning when running the command, generated by Angular), which allows connections from, for example, another device, different from the host, like a phone -- for testing adaptive design.

Code scaffolding

Run ng generate component component-name to generate a new component, ng generate service for a service. You can also use ng generate directive|pipe|class|guard|interface|enum|module.

Contributing your changes

After making all your changes, staging, commiting, pushing, make a pull request and me or somebody else will review it.

Building

In the current workflow, the project should only be built to the gh-pages branch. I'm thinking to change this workflow soon, but if you are reading this, then it's still this way.

Run npm run build to build the project. (DON'T run ng build unless you know what you're doing, or running the exact script which is under under the hood when you run "npm run build", the build URL has to be very specific or else everything breaks for some reason :/) The build artifacts will be stored in the docs/ directory.

To sync changes with master simply do

git checkout gh-pages
git merge master

build,

npm run build
git add -A
git commit -am "build"

and push

git push origin gh-pages

Github Pages should automatically update the deployment after a while.

Tests (not implemented)

Tests are not currently configured but these are the commands for them:

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

If you need more help on the project, for now the only way to reach me is to create an issue. Also check the "discussions" here on GitHub.

About

Interslavic Noun(and case) Declension Practice(and learning) tool!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published