Skip to content

jcardonamde/Project-ShopAluraGeek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

Project-ShopAluraGeek

I invite you to watch the walkthrough of my web application: https://www.youtube.com/watch?v=zg3Vkg1Py5M

👀 Previews:

Published under the topic: https://github.com/topics/challengeonealurageeklatam

Description

Project-ShopAluraGeek is my first E-Commerce platform themed around Geek culture, integrating both Backend and Frontend components. The development was based on the user stories provided in the challenge, with additional functionalities added to enhance the application's value. Users can register, log in, and manage their products through an administrative interface.


🔧 Features:

  • CRUD Model: Allows creation, reading, updating, and deletion of products.
  • User Management: Registration and login to access the administrative panel.
  • Dynamic Validations: Use of AJAX to prevent information loss in forms.
  • Email Notifications: Sending emails for various user actions.

Technologies Used 💻

🐍 Backend:

  • Object-Oriented Programming (OOP) and implementation of the Model-View-Controller (MVC) pattern.
  • Flask: Web development framework.
  • MySQL: Database management.
  • Libraries: Database connection and email notification sending.

🎨 Frontend:

  • HTML5 and CSS3: Structure and styling of the pages.
  • Bootstrap 5: Responsive design and pre-defined components.
  • JavaScript: Validations and dynamic functionalities.
  • AJAX: Real-time validations to enhance user experience.

📄 User Story

AluraGeek wants to reach more customers and increase its sales, so they plan to implement an e-commerce platform to take the company to the next level and embrace digital transformation.

To achieve this, they are requesting our help as developers. The e-commerce platform must meet the following requirements:

  • A home page that includes a login button and a search engine for browsing the products offered by the company.
  • A banner displaying discounts, promotions, or relevant information.
  • A product gallery showcasing product details such as an image, product name, price, and a link to the product description page.
  • A product details page containing the product image, name, description, and price.
  • A footer with a contact form and other relevant information.
  • A login form to authenticate users who need access to the admin menu.
  • An admin menu where users can add, edit, search, or delete products from the store.
  • The website must be responsive, ensuring that customers can easily shop using mobile devices such as tablets and smartphones.

Installation and Execution

To run this project locally, follow these steps:

  1. Clone the repository:
git clone https://github.com/jcardonamde/Project-ShopAluraGeek.git
  1. Navigate to the project directory:
cd Project-ShopAluraGeek
  1. Create and activate a virtual environment:
python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up the database:
  • Create a MySQL database named shop_alura_geek.
  • Import the schema and initial data from the database/schema.sql file.
  1. Configure environment variables: Create a .env file in the project's root with the following variables:
FLASK_APP=run.py
FLASK_ENV=development
SECRET_KEY=your_secret_key
DATABASE_URI=mysql+pymysql://user:password@localhost/shop_alura_geek
  1. Start the application:
flask run
  1. Access the application: Open your browser and visit http://127.0.0.1:5000/ to see the application in action.

Contributions

If you wish to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/new-feature).
  3. Make your changes and commit with descriptive messages.
  4. Push your changes to your fork (git push origin feature/new-feature).
  5. Open a Pull Request in this repository.

About

A Geek-themed e-commerce platform built with Python, where users can create an account to access the product management system and manage their listings.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors