Code Monkey home page Code Monkey logo

velotronix-pp5's Introduction

Hello World!

I'm Indrek, a recent graduate of the Code Institute Full Stack Software Development Bootcamp. Passionate about crafting innovative solutions, I'm on a journey to turn my coding dreams into reality.


Code Institute Graduate

Having successfully completed the Code Institute Bootcamp, I've gained hands-on experience in full-stack development. My skill set includes proficiency in HTML, CSS, JavaScript, Python, Django and more.


HTML 5 CSS 3 JavaScript 5 Python Markdown Django Bootstrap Flask JQuery PostgresSql Electron GitHub Git AWS Postman


Tech Enthusiast

I find joy in creating seamless and user-friendly applications. Whether it's the front-end design or back-end functionality, I thrive on turning ideas into lines of code that bring projects to life.


Continuous Learning

The world of technology is ever-evolving, and I'm committed to staying at the forefront. I have a strong appetite for learning and am exploring React, Django rest API, and Git.


My GitHub stats:

GitHub Stats


top langs  stats

Let's Connect

I'm eager to connect with fellow developers, tech enthusiasts, and industry professionals. Feel free to contact me on any of the following social media links for discussions, collaborations, or just a chat about all things code!

   
Total time coded since Apr 25 2023

Thanks for stopping by, and let's code something amazing together!


velotronix-pp5's People

Contributors

inc21 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

anhtudotinfo

velotronix-pp5's Issues

User Story: Wireframes. Epic: #1

As a developer I can create wireframes so that I will have precise blueprints when designing a website

Tasks

  • Task 1 - Create a Home page wireframe. Also, including the mobile version.
  • Task 2 - Create a wireframe for a list of products page. Also, including the mobile version.
  • Task 3 - Create a wireframe for a single product page. Also, including the mobile version.

Epic: #1

User Story: Order History. Epic: #11

As a user, I want to be able to view my order history so that I can see what I have purchased in the past.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - Create a container on the user profile page with their previous order history.
  • Task 2 - Make this only visible for Authenticated users.
  • Task 3

Epic: #11

User Story: Create User Account/Allauth. Epic: #7

As a user, I want to be able to create an account to save my address for future purchases.

Acceptance Criteria

Acceptance Criteria 1
Given that I am a registered user When I open the website The Login button is visible on the navigation bar.
Acceptance Criteria 1
Given that I am a registered user who is not signed in When I try to leave a review I am prompted to log in.
Acceptance Criteria 1
Given that I am a currently logged-in user When I am on any page on the website a clear Logout button is displayed on the navigation bar.

Tasks

  • Task 1 - Install Allauth package.
  • Task 2 - Add middleware and other settings from the Allauth documentation.
  • Task 3 - Copy the Allauth templates into main templates folder.

Epic: #7

User Story: Edit Bag quantity. Epic: #10

As a user, I want to be able to edit the quantity of a product in my shopping bag so that I can purchase the quantity I want.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that the user is viewing their shopping bag,
      When they attempt to edit the quantity of a product,
      Then the system should allow them to change the quantity successfully.
  • Acceptance Criteria 2

  • Given that the user is on the product or product detail page,
    When they try to add a product to their bag,
    Then there should be an option to edit the quantity before adding it to the bag.

  • Acceptance Criteria 3

  • Given that the user is on the checkout page,
    When they review their selected products,
    Then there should be an option to edit the quantity for each product in the shopping bag.

Tasks

  • Task 1 - Add an option to edit the quantity to be added to the bag on the product and product detail page.
  • Task 2 - Add an option to edit quantity on the checkout page.
  • Task 3 - Block users entering negative values.

Epic: #10

User Story: Set-up vsCode. Epic #1

As a developer, I can use local IDE so that I can start developing my program.

Acceptance Criteria

  • Acceptance Criteria 1 - Connect the vsCode and set up with the project.
  • Acceptance Criteria 1 - The vsCode should only install packages needed for this project.

Tasks

  • Task 1 - Clone repository from GitHub to vsCode.
  • Task 2 - Create a virtual environment to install only project-related packages.
  • Task 3 - Install Django.
  • Task 4 - Create an env.py file and hide the secret key in there.
  • Task 5 - Create requirements.txt file
  • Task 6 - Create Hereku Procfile.

Epic: #1

User Story: View product details. Epic: #8

As a user, I want to be able to view the details of a product so that I can decide if I want to purchase it.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that the user is on the product listing page,
      When the user clicks anywhere on the product card,
      Then the user should be directed to a product details page displaying comprehensive information about the selected product.
  • Acceptance Criteria 2
    • Given that the user is on the product details page,
      When the page loads,
      Then the user should be able to view key details such as product name, description, price, specifications, add to favourites and any other relevant information necessary for making a purchase decision.

Tasks

  • Task 1 - Design responsive product details page.
  • Task 2 - Add a button to add the product to my bag.
  • Task 3 - Add a button to add the product to my favourite products.
  • Task 4 - Add an option to go back to the previous page.

Epic: #8

Epic: Documendation.

As a developer, I can document the development process, so that future developers can easily understand what has been done with the project so far

TASK - Sales Badge

Specifics:

  • Add an option for a superuser to add products on sale from the front end and from the admin panel.

User Story: Database Schemas. Epic: #1

As a developer, I can create a database schema for the project so that I have a clear idea of what models I need to create.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - Create ERDs for the website on Lucid.
  • Task 2 - Copy ERDs to the readme.md.

Epic: #1

TASK - Favicon

Specifics:

  • Create favicon icon
  • Link it on the base template
  • Merge into development branch

Epic: User Account/Profile Management

As a developer, I can provide the user with the ability to create, modify and delete their own profiles, so that they can manage their own account without the need for administrator

User Story: Create detailed readme.md. Epic: #14

As a developer I can create detailed readme so that my taught process can be understood by this website's future developers

Tasks

  • UX
  • Agile Development
  • Features
  • Features left to implement
  • Technology used
  • SEO
  • Testing
  • Bugs
  • Deployment
  • Credits
  • Content
  • Acknowledgements

Epic: #14

Epic: Base template

As a developer, I need to design a base template, so that it can be extended on all the pages

User Story: Initial deployment to Heroku. Epic: #1

As a developer, I can deploy the website skeleton to Heroku so that I can make sure all initial settings are correct

Acceptance Criteria

  • Acceptance Criteria 1 - The project needs to be set up with all the correct settings and files,
  • Acceptance Criteria 1 - Has to be connected to GitHub for easy deployment.

Tasks

  • Task 1 - Create Procfile as per Heroku instructions.
  • Task 2 - Create requirements.txt file.
  • Task 3 - Add config vars in Heroku project settings.
  • Task 4 - Connect the Heroku app with the GitHub repository.

Epic: #1

User Story: User Address CRUD. Epic: #11

As a user, I want to be able to add or edit my billing and shipping information so that I can easily checkout.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - Add a container on the user profile page with 2 of the user's addresses.
  • Task 2 - Create an option to edit addresses.
  • Task 3 - Create an option to add addresses.
  • Task 4 - Create an option to remove addresses.

Epic: #11

User Story: Responsive Design and Accessibility. Epic #9

As a user, I want to be able to view the site on any device I choose so that I can shop on the go.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that I am user that is browsing the site on mobile the all pages look good on my device

Tasks

  • Task 1 - Design responsive header and navigation bar.
  • Task 2 - Design a responsive footer bar.
  • Task 3 - Design responsive index page.

Epic: #9

User Story: Delete Product from the Bag. Epic: #10

As a user, I want to be able to delete a product from my shopping bag so that I can remove it if I change my mind.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that the user is on the shopping bag page,
      When they select a product and choose to remove it,
      Then the system should successfully remove the selected product from the shopping bag.
  • Acceptance Criteria 2

    • Given that the user is on the checkout page,
      When they review their selected products,
      Then there should be an option to remove a product from the shopping bag.
  • Acceptance Criteria 3

    • Given that the user has removed a product from the shopping bag,
      When they view the updated shopping bag,
      Then the removed product should no longer be visible in the bag.

Tasks

  • Task 1 - Add an option to remove the product from the bag.
  • Task 2 - Add an option to remove the product on the checkout page.
  • Task 3 - Add an option to update the quantity of a product in the shopping bag.

Epic: #10

Epic: Shopping Bag Management.

As a developer, I can add a capability to add products in the shopping bag, so that users can easily see what they are purchasing

User Story: Login and Logout. Epic: #7

As a user, I want to be able to log in and out of my account so that I can access my profile.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that I am a registered user When I open the website Then Login button is clearly visible on the navigation bar.
  • Acceptance Criteria 2
    • Given that I am a registered user When I open the website Then Logout button is clearly visible on the navigation bar.

Tasks

  • Task 1 - Design login/logout buttons on the navigation bar.
  • Task 2 - Connect logout button.
  • Task 3 - Connect login button.

Epic: #7

User Story: Favorites. Epic: #11

As a user, I want to be able to add a product to the favourites list so that I can purchase it later.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - Add an option for authenticated user to add the product to their favourite product list on all the product pages.
  • Task 2 - Add a favourite product container on the user profile page.
  • Task 3 - Add an option for a user to delete favourite products.

Epic: #11

User Story: Manual testing. Epic: #14

As a developer I can test all the functionality of the website so that there won't be any bugs to affect user experience

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Responsiveness
  • Browser compatibility
  • Bugs
  • Lighthouse
  • Code validation. HTML, CSS, JavaScript and Python
  • User stories
  • Features

Epic: #14

User Story: Product search and sort. Epic: #8

As a user, I want to **be able to find the products I am looking for easily so that I can find what I want quickly.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that a user is on the platform's homepage,
      When the user wants to search for a product,
      Then a prominently placed search box should be available in the header, allowing the user to easily initiate a search.
  • Acceptance Criteria 2
    • Given that a user is exploring the navigation menu,
      When the user wants to organize products,
      Then the navigation menu should provide the ability to sort products, enhancing the user's ability to quickly find desired items.
  • Acceptance Criteria 3
    • Given that a user is navigating through the platform,
      When the user wishes to browse specific product categories,
      Then the navigation menu should include distinct product categories, facilitating easy access and navigation to different sections.

Tasks

  • Task 1 - Provide a search box on the header.
  • Task 2 - Add the ability to sort products on the navigation menu.
  • Task 3 - Add different product categories to the navigation menu.

Epic: #8

User Story: View Bag. Epic: #10

As a user, I want to be able to view my shopping bag so that I can see the total cost of my purchase.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that the user is on any page of the website,
      When they click on the "Shopping Bag" link,
      Then the system should navigate them to a page displaying the contents of their shopping bag.
  • Acceptance Criteria 2

    • Given that the user has added products to their shopping bag,
      When they view their shopping bag,
      Then The system should display a list of the added products along with their quantities and individual prices.
  • Acceptance Criteria 3

    • Given that the user is on the shopping bag page,
      When they view the page,
      Then the system should calculate and display the total cost of the items in their shopping bag.

Tasks

  • Task 1 - Add a visible on all pages shopping bag link on the top of the page.
  • Task 2 - Display the list of added products on the shopping bag page.
  • Task 3 - Calculate and display the total cost on the shopping bag page.
  • Task 4 - Create responsive shopping pag page

Epic: #10

Epic: Checkout and Stripe

As a developer, I can provide the ability for a user to pay for their purchase, so that they can complete the purchase and start enjoying their products

Epic: User login and signup.

As a developer, I can provide a login/signup feature, so that only authenticated users can make changes to their posts

Potential User Stories
Users can log in and log out.
Users can log in with their social media accounts.
User can reset their password.

User Story: Checkout and Stripe. Epic: #13

As a user, I want to be able to checkout securely so that I can safely purchase my items.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that the user has items in the cart,
      When they proceed to checkout,
      Then they should be prompted to enter their shipping information, including name, address, and contact details.
  • Acceptance Criteria 2

    • Given that the user has entered their shipping information,
      When they proceed to payment,
      Then they should be able to select a payment method from a list of available options.
  • Acceptance Criteria 3

    • Given that the user has selected a payment method,
      When they submit the payment,
      Then they should receive a confirmation message, and the order should be processed securely.

Tasks

  • Task 1 - Create and checkout page.
  • Task 2 - Connect website with Stripe.
  • Task 3 - Implement Confirmation Message.
  • Task 4 - Implement Error Handling:

Epic: #13

User Story: Product Review. Epic: #12

As a user, I want to be able to leave a review for a product so that I can share my experience with other users.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - On the product details page create an option for authenticated users to leave a review.
  • Task 2 - Create an option for the author or admin to remove the reviews.
  • Task 3 - Create a list on the product details page with the user's reviews if they exist.

Epic: #12

User Story: Password Reset. Epic: #7

As a user, I want to be able to reset my password if I forget it so that I can access my account.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that I am registered user When I forget my password Then I can reset it using "reset password" link

Tasks

  • Task 1 - Provide a link on the login page to reset the password.
  • Task 2 - Add flash messages to confirm the user's actions.

Epic: #7

User Story: SEO. Epic: #13

As a developer I can create SEO and other marketing strategies so that this website could be found by more people

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that When the Then
  • Acceptance Criteria 2
    • Given that When the Then
  • Acceptance Criteria 3
    • Given that When the Then

Tasks

  • Task 1 - Add a robots.txt file
  • Task 2 - add a sitemap.xml file
  • Task 3 - add descriptive meta tags in the HTML.
  • Task 4 - Create a Facebook business page.
  • Task 5 - Create a Mailchimp newsletter signup on the footer.

Epic: #13

User Story: Automated testing. Epic: #14

As a developer I can create automated testing so that I can make 100% sure that my code works with no errors

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that I am a website developer When I have some development time left over Then I can add some automated testing to my code.
  • Acceptance Criteria 2

Tasks

  • Learn more about Python testing.
  • Create some automated testing.

Epic: #14

User Story: Search. Epic: #9

As a user, I want to be able to search for a product by name or description so that I can find what I want quickly.

Acceptance Criteria

  • Acceptance Criteria 1
    • Given that a user is on the platform's homepage,
      When the user accesses the search feature and enters a valid product name or description,
      Then the system should provide relevant results matching the entered product name or description.
  • Acceptance Criteria 2
    • Given a user is accessing the platform from different devices (desktop, tablet, or mobile),
      When the user interacts with the search feature,
      Then the search box and results should adapt responsively to different screen sizes,

Tasks

  • Task 1 - Create a responsive search box on the header part of the page.
  • Task 2 - Add an option to search by description, title, model, and brand.

Epic: #9

User Story: Add to bag. Epic: #10

As a user, I want to be able to add a product to my shopping bag so that I can purchase it.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that the user is on the list of products page,
      When When they select a product and choose to add it to the bag,
      Then Then the system should successfully add the selected product to the shopping bag.
  • Acceptance Criteria 2

    • Given that the user is on the product details page,
      When When they decide to add the product to the bag,
      Then Then the system should successfully add the selected product to the shopping bag.
  • Acceptance Criteria 3

  • Given that the user has added a product to the bag,
    When they view their shopping bag,
    Then the added product should be visible in the bag.

Tasks

  • Task 1 - Add an option to add a product in the bag from the list of products page.
  • Task 2 - Add an option to add a product to the bag from the product details page.

Epic: #10

User Story: Pagination. Epic: #53

As a user, I want to browse through multiple pages of search results so that I can find a variety of products.

Acceptance Criteria

  • Acceptance Criteria 1

    • Given that a user has initiated a search for products,
      When the search results exceed the capacity of a single page,
      Then the system should display pagination controls at the bottom of the page.
  • Acceptance Criteria 2

    • Given that a user is on a specific page of search results,
      When the user clicks on a pagination link or control,
      Then the system should navigate to the corresponding page, displaying the relevant set of products.
  • Acceptance Criteria 3

    • Given that a user is navigating through different pages of search results,
      When the user changes the number of items per page,
      Then the system should dynamically adjust the pagination to reflect the updated number of items displayed.

Tasks

  • Task 1 - Develop and integrate pagination controls at the bottom of the search results page.
  • Task 2 - Ensure the controls include options to navigate to the previous, next, and specific pages.
  • Task 3 - Implement functionality to allow users to navigate to different pages when they interact with the pagination controls.
  • Task 4 - Implement the ability for users to change the number of items displayed per page.
  • Task 5 - Ensure that the pagination adjusts dynamically based on the user's preference.
  • Task 6 - Display the total number of results available in the search, providing users with an overview of the available product quantity.

Epic: #53

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.