(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
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.
- 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
- 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)
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.)
-
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.
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.
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
.
After making all your changes, staging, commiting, pushing, make a pull request and me or somebody else will review it.
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 are not currently configured but these are the commands for them:
Run ng test
to execute the unit tests via Karma.
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.
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.