anilyadavup54 / anilyadavup54/tinyURL

Issue: Rewrite Frontend Using React and Vite

Aperta
#2 3 commenti 0 reazioni 1 assegnatario Assegnata a @anilyadavup54 Vedi su GitHub
enhancement good first issue
Lingua principale
JavaScript
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Description

The current frontend of the tinyURL project uses EJS templating for rendering pages. To modernize the application, improve maintainability, and enhance the user experience, we propose rewriting the frontend using **React** with **Vite** as the build tool.

### Tasks

- Set up a new frontend project using [Vite](https://vitejs.dev/) and React.
- Recreate the existing UI components (e.g., URL submission form, short URL display) as React components.
- Consume existing backend APIs via HTTP requests (e.g., using `fetch` or axios).
- Ensure URL shortening and redirection functionalities are fully operational from the React frontend.
- Implement error handling in the frontend for invalid URLs or API errors.
- Implement responsive design for optimal usage on mobile and desktop.
- (Optional) Add UI enhancements such as loading indicators, notifications, or history of recently shortened URLs.

### Acceptance Criteria

- All features currently available in the EJS frontend are supported in the new React-based frontend.
- UI should be clean and user-friendly.
- The frontend lives in a separate `/client` or `/frontend` directory.
- Clear instructions for building and running the new frontend should be provided in the README.

### Additional Notes

- Collaboration and suggestions are welcome!
- Please reference related backend API endpoints and coordinate changes if needed.

---

**Let’s bring a modern SPA experience to tinyURL using React and Vite!**

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.