Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jonkirathe/drag-drop-upload-app
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.0
Choose a base ref
...
head repository: jonkirathe/drag-drop-upload-app
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Aug 8, 2024

  1. Update README.md

    jonkirathe authored Aug 8, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    29907ca View commit details

Commits on Sep 10, 2024

  1. Update README.md

    jonkirathe authored Sep 10, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    886149c View commit details
Showing with 58 additions and 25 deletions.
  1. +58 −25 README.md
83 changes: 58 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,79 @@
# DragDropUploadApp

Live: https://filedropapp.vercel.app/
[![Love Angular badge](https://img.shields.io/badge/angular-love-blue?logo=angular&angular=love)](https://www.github.com/angular/angular)

## UploadComponent:
- Allows users to select or drag and drop images.
- Provides a drag-and-drop zone and a file input field.
- Emits an event when new images are uploaded.
Live: [DragDropUploadApp](https://filedropapp.vercel.app/)

## PreviewComponent:
- Displays a preview of uploaded images.
- Utilizes Angular’s CDK Drag and Drop module for rearranging images.
- Renders images in a responsive grid layout.
## Overview
DragDropUploadApp is an Angular 18 application designed to provide a seamless and interactive experience for uploading and previewing images. The app leverages Angular's powerful features and the Angular CDK Drag and Drop module to create a user-friendly interface.

## AppComponent:
- Manages image state and passes it to the PreviewComponent.
- Handles image uploads using Angular signals.
- Includes placeholder, loading, and defer directives for a better user experience.
## Components

Overall, your app seems well-designed for image-centric use cases.
### UploadComponent
- **Functionality**: Allows users to select or drag and drop images for upload.
- **Features**:
- Drag-and-drop zone.
- File input field.
- Emits an event when new images are uploaded.

### PreviewComponent
- **Functionality**: Displays a preview of uploaded images.
- **Features**:
- Utilizes Angular’s CDK Drag and Drop module for rearranging images.
- Renders images in a responsive grid layout.

### AppComponent
- **Functionality**: Manages image state and passes it to the PreviewComponent.
- **Features**:
- Handles image uploads using Angular signals.
- Includes placeholder, loading, and defer directives for a better user experience.

## Development server
## Development

### Development Server
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.

## Code scaffolding

### Code Scaffolding
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`.

## Build

### Build
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.

## Running unit tests
### Running Unit Tests
Run `ng test` to execute the unit tests via Karma.

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
### Running End-to-End Tests
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.

## Running end-to-end tests
## Additional Information

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.
### Features
- **Drag and Drop**: Users can drag and drop images for upload.
- **Responsive Design**: The app is designed to be responsive and works well on various devices.
- **Image Rearrangement**: Users can rearrange images using drag-and-drop functionality.
- **State Management**: Efficient state management using Angular signals.
- **User Experience**: Includes placeholder, loading, and defer directives for a smooth user experience.

### Technologies Used
- **Angular**: Framework for building the application.
- **Angular CDK**: For drag-and-drop functionality.
- **TypeScript**: Primary language for development.
- **SCSS**: For styling the application.

### Project Structure
- **src/app**: Contains the main application code.
- **components**: Contains the UploadComponent and PreviewComponent.
- **services**: Contains services for handling image uploads and state management.
- **models**: Contains TypeScript interfaces and models used in the application.
- **assets**: Contains static assets like images and styles.
- **environments**: Contains environment-specific configurations.

### Contributing
If you would like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

### License
This project is licensed under the MIT License - see the LICENSE file for details.

## Further help
### Contact
For any inquiries or feedback, please contact the project maintainer at [kirathendegwa@gmail.com].

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.