https://github.com/khumozin/angular-template
https://github.com/khumozin/angular-template
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/khumozin/angular-template
- Owner: Khumozin
- Created: 2024-04-27T11:25:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-10T05:28:38.000Z (4 months ago)
- Last Synced: 2025-01-24T01:41:15.777Z (4 months ago)
- Language: TypeScript
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Angular Project Template
This project serves as a template for building robust Angular applications. It incorporates modern Angular development features such as standalone APIs, Angular Material, and various tools for enhancing code quality, consistency, and testing.
## Features
- **Standalone APIs**: Utilize Angular's standalone components and APIs for modular and scalable application development.
- **Angular Material**: Preconfigured with Angular Material for a sleek and responsive UI.
- **Husky**: Automate Git hooks for ensuring code quality and consistent commits.
- **ESLint**: Enforces coding standards and prevents common pitfalls.
- **Prettier**: Automatically formats code to maintain a clean and consistent style.
- **Commitizen**: Standardizes commit messages for better collaboration and readability.
- **Cypress**: End-to-end testing for verifying user workflows and application behavior.
- **Jasmine & Karma**: Unit testing framework and test runner for comprehensive code coverage.## Getting Started
### Prerequisites
Ensure you have the following installed on your system:
- [Node.js](https://nodejs.org/) (v22 or later recommended)
- [Angular CLI](https://angular.io/cli) (v19)
- [Git](https://git-scm.com/)### Installation
1. Clone the repository:
```
git clone
cd
```2. Install dependencies:
```
npm install
```3. Set up Husky hooks:
```
npx husky install
```### Running the Project
1. Development Server:
```
ng serve
```Open `http://localhost:4200`
2. Build:
```
ng build
```Compiles the project for production.
3. Unit Tests:
```
ng test
```4. E2E Tests:
```
npx cypress open
```### Code Quality Tools
1. Linting:
Run ESLint to check for linting errors:
```
npm run lint
```2. Formatting:
Format code using Prettier:
```
npm run prettier
```3. Commit Messages:
Use Commitizen for crafting commit messages:
```
npm run commit
```### Project Structure
```
src/
├── app/
│ ├── core/ # Core (services, interceptors, etc.)
│ ├── shared/ # Shared (common components, directives, pipes)
│ ├── features/ # Features (shopping-cart, user-profile, etc.)
│ ├── app.component.ts
│ └── app.config.ts
├── assets/ # Static assets
├── environments/ # Environment configurations
```### Renaming Project
Use any of this scripts ([ngx-rename](https://github.com/khumozin/ngx-rename)), based on your OS:
### Contributing
Contributions are welcome! Please follow these steps:
1. Fork the repository.
2. Create a feature branch (git checkout -b feature-name).
3. Commit changes following the commit message guidelines.
4. Push to the branch (git push origin feature-name).
5. Open a Pull Request.### License
This project is licensed under the `MIT License`. See the LICENSE file for details.