Historical SoftUni Angular project originally built as Cat World.
This is an Angular 6 single-page app for listing cats for adoption, browsing cat profiles, managing user accounts, and sending messages between users. It is kept as a portfolio/archive project that shows early Angular, TypeScript, routing, forms, REST API integration, role-based UI behavior, and component-driven frontend work.
- Angular 6 application structure with routed feature pages.
- TypeScript models, services, and component state.
- Authentication flows backed by Kinvey-style REST endpoints.
- Conditional navigation for guest, user, and admin states.
- Cat listing, creation, detail, update, and delete workflows.
- Profile editing with persisted session data.
- Message board, private message creation, inbox, and unread-message count logic.
- Admin user-management surface.
- Form validation and user feedback with
ngx-toastr. - Bootstrap-based styling and image-heavy UI.
- A secondary SpaceX rocket visualization route using structured rocket data.
- Angular 6
- TypeScript
- Angular Router
- Angular Forms
- Angular HttpClient
- RxJS
- Bootstrap / ng-bootstrap
- ngx-toastr / angular-notifier
- ng-simple-slideshow
- Kinvey-style REST API integration
- Karma / Jasmine / Protractor scaffold from Angular CLI
/about- landing/about page/login- login/register- registration/viewAll- all cat listings/create- create a cat adoption listing/view-cat/:id- view, update, delete, or message about a cat/profile- user profile/messages- message board/Inbox- private inbox/pm-create/:id- send message about a listing/admin- admin user view/rockets_page- rocket visualization demo
src/app/
services/ REST/auth/session helpers
create-cat/ cat listing creation
view-all/ listing overview
view-cat-info/ listing detail/update/delete
profile/ profile editing
messages/, inbox/, pm-writer/ messaging features
admin/ admin user view
rockets-page/, rocket/ SpaceX rocket visualization demo
naivagtion-bar/ conditional navigation
This project was built with Angular CLI 6 and old dependency versions. A modern Node version may not install or build it cleanly without using an older Node/npm environment.
npm install
npm startThen open:
http://localhost:4200
For demo review, the historical Kinvey calls are replaced with in-memory mock users, cat listings, and messages in src/app/services/kinvey-remote-service.service.ts. Login works with any non-empty credentials and the app seeds a guest session automatically on first load. The npm scripts set the legacy OpenSSL provider flag needed by Angular/Webpack on modern Node versions.
npm run buildThe original student project used a Kinvey backend. Historical app keys/secrets have been removed from the source and replaced with placeholders. The current demo path uses local mock data; to restore backend-backed flows, replace the mock returns in src/app/services/kinvey-remote-service.service.ts with Kinvey-compatible HTTP calls and provide your own app key and secret.
Because this is an archived portfolio project, the original hosted backend may no longer exist.
Archived portfolio project. The goal of this repository is to show early Angular application work, not to represent current production practices.
Known limitations:
- Old Angular/CLI dependency stack.
- Backend configuration is intentionally removed.
- Some code and naming reflect its 2019 student-project origin.
- No modernization/refactor pass has been applied.
- Pages project name:
cat-world - GitHub repository:
BorisThoris/cat-world - Production branch:
master - Root directory:
. - Build command:
NODE_OPTIONS=--openssl-legacy-provider npx ng build - Build output directory:
dist/angular-softuni-app - Public URL target:
https://cat-world-4zt.pages.dev/
Do not enable Cloudflare Access for the demo deployment. Leave frame-blocking headers unset so the portfolio can iframe the public build.