Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adrianoescarabote/link-sharing-app

This project involves the development of a full-stack link-sharing application built specifically for developers .This is the front-end repository for the project.
https://github.com/adrianoescarabote/link-sharing-app

jest linksharing nextjs storybook tailwindcss testing-library typescript

Last synced: 1 day ago
JSON representation

This project involves the development of a full-stack link-sharing application built specifically for developers .This is the front-end repository for the project.

Awesome Lists containing this project

README

        

# Link-sharing app

This is a solution to the [Link-sharing app challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/linksharing-app-Fbt7yweGsT). Frontend Mentor challenges help you improve your coding skills by building realistic projects. This is the front-end repository if you want to see the backend you can access this link: [Backend Repository](https://github.com/AdrianoEscarabote/link-sharing-backend)

## Contents

- [The challenge](#the-challenge)
- [Continued development](#continued-development)
- [Setup](#setup)
- [Technologies Used](#technologies-used)
- [Author](#author)
- [License](#📝-license)

## The challenge

**My app allows users to:**

- Easily create, read, update, and delete links, and instantly see previews displayed in a mobile mockup.
- Get helpful validations if they submit the links form without a valid URL or with an incorrect URL pattern for the platform.
- Effortlessly rearrange their links through a simple drag-and-drop feature.
Enhance their profiles by adding details such as a profile picture, first name, last name, and email.
- Receive prompt notifications if they attempt to save the profile details form without entering a first or last name.
- Preview their DevLinks profile and conveniently copy the link to their clipboard for easy sharing.
- Enjoy a responsive design that adapts to the optimal layout based on their device's screen size.
- Interact seamlessly with all elements on the page with visible hover and focus states.
- **Bonus**: Store their details securely in a database
- **Bonus**: Create a personalized account and log in

## Continued development

This was my first fullstack project, and I'm incredibly proud to have successfully completed it. Throughout the entire process, from planning to development and hosting, I encountered various challenges. I believe this project represents my best work to date, and it's also the largest one I've ever undertaken. I'm extremely pleased with the results achieved.

Looking ahead, I'm eager to embark on even more ambitious fullstack projects while continuing to enhance my backend development skills. My goal is to always seek new knowledge and consistently improve the skills I already possess.

## Setup

Follow these steps to set up the project:

Clone the project repository using the following command:

```sh
git clone https://github.com/AdrianoEscarabote/Link-sharing-app
```

Navigate to the project's root directory:

```sh
cd Link-sharing-app/
```

Install project dependencies by running:

```sh
npm install
```

### Development

To start the development server and preview your application, use the following command:

```sh
npm run dev
```

### Testing

Run tests by executing the following command:

```sh
npm run test
```

### Storybook

Explore and visualize components using Storybook with this command:

```sh
npm run storybook
```

## Technologies Used

**Operational System**

![Windows](https://img.shields.io/badge/Windows-017AD7?style=for-the-badge&logo=windows&logoColor=white)

**Front-end**

![NextJS](https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=next.js&logoColor=white)
![Typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![Tailwind](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)
![Redux](https://img.shields.io/badge/Redux-593D88?style=for-the-badge&logo=redux&logoColor=white)
![Storybook](https://img.shields.io/badge/Storybook-FF4785?style=for-the-badge&logo=storybook&logoColor=white)
![Jest](https://img.shields.io/badge/Jest-C21325?style=for-the-badge&logo=jest&logoColor=white)
![React-hook-form](https://img.shields.io/badge/React%20Hook%20Form-61DAFB?style=for-the-badge&logo=react&logoColor=white)
![ESLint](https://img.shields.io/badge/ESLint-4B3263?style=for-the-badge&logo=eslint&logoColor=white)

**Back-end**

![Express](https://img.shields.io/badge/Express-000000?style=for-the-badge&logo=express&logoColor=white)
![MongoDB](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=mongodb&logoColor=white)
![Node](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)
![Mongoose](https://img.shields.io/badge/Mongoose-880000?style=for-the-badge&logo=mongoose&logoColor=white)

**Tools**

![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white)
![Firebase](https://img.shields.io/badge/Firebase-F29D0C?style=for-the-badge&logo=firebase&logoColor=white)
![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git&logoColor=white)
![NPM](https://img.shields.io/badge/NPM-%23CB3837.svg?style=for-the-badge&logo=npm&logoColor=white)

## Author

👤 **AdrianoEscarabote**

- Github: [@AdrianoEscarabote](https://github.com/AdrianoEscarabote)
- Linkedin: [@AdrianoEscarabote](https://www.linkedin.com/in/AdrianoEscarabote/)
- Frontend Mentor: [@AdrianoEscarabote](https://www.frontendmentor.io/profile/AdrianoEscarabote)
- Twitter: [@drianEscarabote](https://twitter.com/drianEscarabote)

## 📝 License

Copyright © 2023 [AdrianoEscarabote](https://github.com/AdrianoEscarabote).

This project is [MIT](https://github.com/AdrianoEscarabote/Link-sharing-app/blob/main/LICENSE) licensed.

---

## Show your support

Give a ⭐️ if this project helped you!