{"id":26022779,"url":"https://github.com/kalpesh-g/e-commerce-site","last_synced_at":"2026-04-07T09:31:10.720Z","repository":{"id":277358157,"uuid":"932192169","full_name":"kalpesh-G/E-commerce-site","owner":"kalpesh-G","description":"Infosys Springboard Internship , Full E-commerce web app using Python name Fusion Fits.FusionFits is a basic e-commerce application built using Flask and SQLAlchemy. It includes features for user authentication, product browsing, cart and wishlist management, order placement, admin functionalities, and delivery tracking.","archived":false,"fork":false,"pushed_at":"2025-02-20T18:13:11.000Z","size":88117,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T19:23:44.413Z","etag":null,"topics":["css","flask","fullstackproject","html","infosys-springboard","js","python","sqlalchemy","sqlite"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kalpesh-G.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-13T14:19:59.000Z","updated_at":"2025-02-20T18:13:15.000Z","dependencies_parsed_at":"2025-02-13T14:48:33.953Z","dependency_job_id":null,"html_url":"https://github.com/kalpesh-G/E-commerce-site","commit_stats":null,"previous_names":["kalpesh-g/e-commerce-site"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalpesh-G%2FE-commerce-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalpesh-G%2FE-commerce-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalpesh-G%2FE-commerce-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalpesh-G%2FE-commerce-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kalpesh-G","download_url":"https://codeload.github.com/kalpesh-G/E-commerce-site/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242190058,"owners_count":20086687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","flask","fullstackproject","html","infosys-springboard","js","python","sqlalchemy","sqlite"],"created_at":"2025-03-06T10:26:41.995Z","updated_at":"2025-12-30T21:26:32.388Z","avatar_url":"https://github.com/kalpesh-G.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FusionFits E-commerce Application\n\n![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)\n\nThis project implements a basic e-commerce application using Flask and SQLAlchemy. It includes features for user registration, login, product browsing, adding items to a cart and wishlist, checkout, order placement, and admin functionalities.\n\u003cbr\u003e\n\u003cbr\u003e\n**My Contribution:**\u003cbr\u003e\u003cbr\u003e\n1.Creating \u003cstrong\u003ebase.html\u003c/strong\u003e containing the header and footer that is common for all pages.\u003cbr\u003e\n2.Designing and working of \u003cstrong\u003e individual item page\u003c/strong\u003e showing item details and related items.\u003cbr\u003e\n3.\u003cstrong\u003eWishlist\u003c/strong\u003e functionality's working as well as wishlist page(Backend and frontend).\u003cbr\u003e\n4.\u003cstrong\u003eAdd to Cart\u003c/strong\u003e functionality 's working as well as cart page(Backend and frontend).\u003cbr\u003e\n5.\u003cstrong\u003eOrder page \u003c/strong\u003e Backend and frontend.\u003cbr\u003e\n## Features\n\n### User Features:\n\n- **Registration and Login:** Users can register accounts and securely log in.\n- **Product Browsing:** View product details, including images, descriptions, and pricing.\n- **Wishlist:** Add products to a wishlist for later purchase.\n- **Shopping Cart:** Add products to a shopping cart, update quantities, and remove items.\n- **Checkout:** Proceed to checkout, providing shipping information.\n- **Order Placement:** Place orders securely.\n- **Order History:** View past orders.\n- **Password Management:** Reset forgotten passwords.\n- **Profile Management:** Update user profile information.\n\n### Admin Features:\n\n- **Admin Dashboard:** Overview of application statistics.\n- **Product Management:** Add, update, delete, and view products with image uploads.\n- **User Management:** View and manage user details, including roles.\n- **Order Management:** View orders placed by users.\n- **Role Approval:** Approve or reject role requests (delivery person).\n\n### Delivery Person Features:\n\n- **Dashboard:** Shows orders assigned to them based on city/location.\n- **Order Status Updates:** Update order status (e.g., \"Shipped\", \"Delivered\").\n\n## Technologies Used\n\n- **Python:** Backend programming language.\n- **Flask:** Web framework.\n- **Flask-SQLAlchemy:** Object-Relational Mapper (ORM) for database interaction.\n- **Flask-Login:** User authentication and session management.\n- **Flask-Bcrypt:** Password hashing for security.\n- **Flask-Migrate:** Database migration management.\n- **Flask-Mail:** Sending email notifications.\n- **WTForms:** Handling HTML forms.\n- **SQLAlchemy:** ORM for database operations.\n- **SQLite:** Database (for development). Consider PostgreSQL or MySQL for production.\n- **dotenv:** For managing environment variables.\n- **pytest:** Testing framework.\n\n## Setup\n\n1. **Create a virtual environment:**\n   ```bash\n   python3 -m venv venv\n   source venv/bin/activate  # On Windows: venv\\Scripts\\activate\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Set environment variables:** Create a `.env` file in the project root directory and populate it with your email settings and secret key. Example:\n   ```ini\n   MAIL_SERVER=smtp.gmail.com\n   MAIL_PORT=587\n   MAIL_USE_TLS=True\n   MAIL_USE_SSL=False\n   MAIL_USERNAME=your_email@gmail.com\n   MAIL_PASSWORD=your_app_password\n   SECRET_KEY=a_very_secret_key\n   ```\n\n4. **Create the database:**\n   ```bash\n   flask db upgrade\n   ```\n\n5. **Run the application:**\n   ```bash\n   flask run\n   ```\n\n## Testing\n\nThis application uses pytest for comprehensive testing.  The tests are located in the `tests/` directory and cover:\n\n- **Unit Tests:** Individual components (functions, models) are tested in isolation.\n- **Integration Tests:** Interactions between different components are tested.  For example,  tests verify the interaction between the views and the database.\n- **Functional Tests:** End-to-end testing of user flows (e.g., registration, adding to cart, checkout). These tests simulate actual user actions.\n\n\nTo run the tests, navigate to the project's root directory and execute the following command:\n\n```bash\npytest tests/ \n```\n\n\n## Directory Structure\n\n```\nFusionFits/\n├── app/                  # Application code\n│   ├── __init__.py       # Application initialization\n│   ├── views.py          # Main application routes\n│   ├── auth.py           # Authentication routes\n│   ├── models.py         # Database models\n│   ├── forms.py          # WTForms\n│   ├── admin.py          # Admin routes\n│   ├── password.py       # Password reset routes\n│   ├── rating.py         # Rating routes\n│   ├── delivery_person.py # Delivery person routes\n│   ├── templates/        # HTML templates\n│   │   └── ...\n│   ├── static/           # Static files (CSS, JS, images)\n│   │   └── uploads/      # Folder to store uploaded product images\n├── migrations/           # Database migration files\n├── tests/                # Test files using pytest\n├── requirements.txt      # Project dependencies\n├── .env                  # Environment variables\n```\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalpesh-g%2Fe-commerce-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkalpesh-g%2Fe-commerce-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalpesh-g%2Fe-commerce-site/lists"}