Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/peliah/hng-link-share


https://github.com/peliah/hng-link-share

Last synced: about 11 hours ago
JSON representation

Awesome Lists containing this project

README

        

# Full-Stack Link-Sharing Application

## Task Overview
This project involves building a full-stack link-sharing application using Next.js and TypeScript. The goal is to implement a pixel-perfect version of the provided design, focusing on CRUD functionality, user authentication, and responsiveness.

## Deliverables

### Feature Implementation
1. **CRUD Links**: Create, read, update, and delete links with previews.
2. **Form Validations**: Ensure URL correctness for links and that profile details include a profile picture, first and last names, and an email.
3. **Profile Details**: Users can add a profile picture, first name, last name, and email.
4. **Profile Preview**: Users can preview their profile and copy the profile link to the clipboard.
5. **Responsive Layout**: Ensure optimal layout and responsiveness across different device screen sizes.
6. **Interactive States**: Implement hover and focus states for all interactive elements.
7. **Access Control**: Only the logged-in owner of a link can edit it.

### Full-Stack Application
- **Database Integration**: Use a database (like Firebase or Supabase) to save details.
- **User Authentication**: Implement user account creation and login functionalities.

## Technology Requirements
- **Framework**: Next.js with TypeScript
- **Design**: Follow the provided design system for colors, fonts, and image assets.

## Steps to Complete the Task

### Design and Layout
- Follow the provided [Figma design](https://www.figma.com/design/gY3QlGMHxB81euVxIYfBSr/link-sharing-app?node-id=26-2&m=dev&t=jGBTLwo88ioEapGg-1) closely.
- Implement layouts for mobile, tablet, and desktop.
- Ensure pixel-perfect implementation.

### Feature Development

#### Links Management
- Implement CRUD operations for links.
- Validate URLs in the form.

#### Profile Management
- Add fields for profile picture, first name, last name, and email.
- Validate profile details in the form.

#### Profile Preview
- Allow users to preview their profile.
- Enable link copying functionality.

### Responsive Design
- Ensure the application is responsive across different devices.

### Full-Stack Integration

#### Database
- Save link and profile details using a database like Firebase or Supabase.

#### User Authentication
- Implement account creation and login functionalities.

## Testing and Validation
- Thoroughly test all features.
- Validate form inputs and user interactions.
- Test the application across different devices and screen sizes.

## Evaluation Criteria

### Completeness
- Are all required features implemented and functional?
- Does the application handle all necessary states and validations?

### Quality
- Is the design visually appealing and consistent with the Figma design?
- Does the application perform well across different devices and browsers?

### Functionality
- Are CRUD operations for links and profile management working correctly?
- Is the user authentication and database integration properly implemented?

## Submission
- Submit the link to your GitHub repository containing the source code.
- Ensure your code follows the design specifications.
- Provide a live demo link if possible.

### Submission Link
[Submit Here](https://forms.gle/SzL2Eqghcgbr1xmo8)

### Deadline
**24th of July, Wednesday: 11:59 PM**