A web client for the # Fifth Aeon collectible card game, written using Angular and Typescript.
You can find the corresponding server at https://github.com/Fifth-Aeon/CCG-Server. The game's core logic is shared between the client and the server. To facilitate this sharing it uses a git submodule which is hosted at https://github.com/WilliamRitson/CCG-Model.
Install Git LFS and make sure its available in your path.
Run git clone --recursive https://github.com/WilliamRitson/CCG-Client.git
to clone the project and its submodule (do this wherever you want the project stored on your computer).
Install node using an installer. This should also install npm.
Run npm install -g @angular/cli
to get angular cli.
Run npm install
within the project directory (the place you cloned it) to install the project's dependencies.
I use visual studio code as my editor and use the TSLint, Prettier and EditorConfig plugins. You can use any editor you like, but its recommended to have a plugin to enforce the linter rules.
The project uses svg (vector) images which are then rendered into png (bitmap) images before being released. However, only the svg sources should be stored in the repository. There is a script in the images folder which should render all the svgs. It requires inkscape be available in your path. Inkscape is also useful for creating new images.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive/pipe/service/class/module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.