Ali-Marketplace is a Flask-based web application that simulates an online marketplace. Users can register, log in, and interact with various items for sale. This project demonstrates the implementation of user authentication, database management, and basic e-commerce functionality using Flask and SQLAlchemy.
- GitHub Repository: https://github.com/ali95ashraf/Ali-Marketplace
- Author:
- Ali Ashraf - [LinkedIn Profile URL]
- User registration and authentication
- Item listing and management
- Market page to display available items
- User-specific functionality (e.g., viewing owned items, budget management)
To set up this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/ali95ashraf/Ali-Marketplace.git
cd Ali-Marketplace
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
- Install the required dependencies:
pip install -r requirements.txt
- Run the application:
gunicorn market:app
The application should now be running at http://127.0.0.1:8000
.
After setting up the project, you can:
- Register a new account at the '/register' route
- Log in with your credentials at the '/login' route
- Browse available items in the marketplace at the '/market' route
- Add new items to the marketplace (if implemented)
- Log out using the '/logout' route
Ali-Marketplace/
│
├── market/
│ ├── init.py
│ ├── models.py
│ ├── routes.py
│ ├── forms.py
│ └── templates/
│ ├── base.html
│ ├── home.html
│ └── market.html
│
├── run.py
└── README.md
run.py
: The entry point of the applicationmarket/__init__.py
: Initializes the Flask app and sets up extensionsmarket/models.py
: Defines database models (User and Item)market/routes.py
: Contains all route definitions and view functionsmarket/forms.py
: Defines forms using Flask-WTFtemplates/
: Contains HTML templates for the application
Contributions to the Ali-Marketplace project are welcome! Here's how you can contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the project's coding standards.
- Flask Documentation: https://flask.palletsprojects.com/
- Flask-SQLAlchemy: https://flask-sqlalchemy.palletsprojects.com/
- Flask-Login: https://flask-login.readthedocs.io/
This project is licensed under the MIT License - see the LICENSE file for details.