From b41caff3215361945948bfe8bc86ed86cc620984 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 25 Nov 2024 09:32:26 +0500 Subject: [PATCH] Add project idea for stories feature --- src/data/projects/stories-feature.md | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/data/projects/stories-feature.md diff --git a/src/data/projects/stories-feature.md b/src/data/projects/stories-feature.md new file mode 100644 index 000000000..1de3a01de --- /dev/null +++ b/src/data/projects/stories-feature.md @@ -0,0 +1,42 @@ +--- +title: '24hr Story Feature' +description: 'Create a client-side instagram stories feature clone.' +isNew: false +sort: 30 +difficulty: 'advanced' +nature: 'Frameworks' +skills: + - 'JavaScript' + - 'Storage' + - 'Timeouts' +seo: + title: 'Build an Instagram Story Clone' + description: 'Create a client-side instagram stories feature clone.' + keywords: + - 'html' + - 'css' + - 'javascript' + - 'instagram story' +roadmapIds: + - 'frontend' +--- + +You are required to build a "Story" feature similar to those found in popular social media platforms like Instagram and WhatsApp. The goal is to allow a user to post short, ephemeral content that disappears after 24 hours. As this is a Frontend project this is going to be client-side only. + +## Requirements + +There will be a list of stories at the top and a plus button. Clicking the plus button will allow user to upload an image which will be converted to base64 and stored in local storage. The image will be displayed in the list of stories. The image will be removed after 24 hours. User should optionally be able to swipe through the stories. + +![Stories project clone](https://assets.roadmap.sh/guest/stories-project.png) + +## Constraints + +- You can use any frontend framework to build this +- Feel free to use any libraries or tools you are comfortable with +- The project should be client-side only +- The project should be responsive +- Image dimensions should be constrained to a maximum of 1080px x 1920px + +--- + +After building this project, you will have a better understanding of how to work with client-side storage, timeouts, and how to create a responsive design. \ No newline at end of file