This is a simple calendar application built using Angular, Angular Material, and Angular CDK. The application allows users to manage appointments through a calendar interface.
- Add Appointment Form: Allows users to add new appointments with date and description.
- Delete Appointment: Provides functionality to delete existing appointments.
- Move Appointment: Implements drag-and-drop functionality using Angular CDK to move appointments between dates.
- Calendar View: Renders a monthly, weekly and day calendar view with highlighted dates containing appointments.
- Form Validation: Utilizes Angular forms with validators for ensuring data integrity.
- Angular: Frontend framework for building single-page applications with Angular CLI version 18.0.3.
- Angular Material: UI component library for Angular applications.
- Angular CDK: Provides tools to implement common interaction patterns (like drag-and-drop).
- Adding an Appointment: Click on a date to open the add appointment form, fill in the details, and submit.
- Deleting an Appointment: Click on the delete icon next to an appointment to remove it.
- Moving an Appointment: Drag an appointment to another date to reschedule it.
Run 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 ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
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.
Linting ensures that the codebase follows consistent coding styles and practices. This project uses ESLint for TypeScript linting with Angular-specific configurations.
ng lint