JapaNet is a simple yet powerful e-commerce web application built with Flask. It aims to provide a platform for local businesses to showcase and sell their products online, catering to both local and international customers. Our mission is to promote local entrepreneurship while offering customers access to unique and high-quality goods.
- Market Diversity: JapaNet serves both local customers seeking locally-made products and international customers interested in unique items from different regions.
- Local Business Promotion: We prioritize local vendors, helping them expand their reach and grow their businesses.
- Secure Transactions: Our platform ensures secure payment processing through encrypted payment gateways, ensuring customer data safety.
- User-Friendly Interface: With an intuitive interface, customers can easily browse products, place orders, and track shipments hassle-free.
To install JapaNet locally, follow these steps:
-
Fork the Repository: Fork the JapaNet repository to your GitHub organization. This creates a copy of the repository under your GitHub username. You can fork the repository by clicking the "Fork" button on the GitHub page.
-
Clone the Repository: Clone the forked repository to your local machine:
git clone https://github.com/{your-Github-username}/JapaNet.git
-
Navigate to the Project Directory:
cd JapaNet
-
Create and Activate Virtual Environment (Optional): For creating a virtual environment named "myenv" and activating it:
python -m venv myenv # Create virtual environment
On Unix or MacOS:
source myenv/bin/activate
On Windows:
.\myenv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Environment Variables: If needed, configure any environment variables required by the application.
-
Run the Application:
python app.py
After installation, users can access JapaNet through their web browsers. They can browse products, place orders, and track shipments with ease.
We welcome contributions from the community to enhance JapaNet. To contribute, follow these steps:
- Fork the repository and create a new branch.
- Make your changes and ensure they adhere to the project's coding standards.
- Test your changes thoroughly.
- Submit a pull request with a clear description of your changes.
- Issue: When products are deleted from the administrator panel, associated images may not be deleted, leading to potential clutter and wasted storage space.
- Issue: The search functionality for customers is limited to searching by brand, description, and price only. Additionally, there are no dedicated buttons or filters for these search criteria. Administrators do not have access to an implemented search algorithm.
- Issue: Rendering PDF documents, such as receipts, using the pdfkit module may take longer than expected, especially when Bootstrap is not fully loaded. Additionally, image retrieval from the database for inclusion in PDF documents may fail intermittently. This is also dependent on an external software. Click here to access their GitHub documentation page.
- Issue: The payment option integrated with Paystack is intended for testing purposes only. Users are required to register and obtain a live key from Paystack to fully implement payment functionality for live transactions.
For more information on installing dependencies and resolving these issues, please refer to the project documentation or relevant external resources.
- Flask - A lightweight WSGI web application framework in Python.
- SQLAlchemy - SQL toolkit and Object-Relational Mapping (ORM) for Python.
- Bootstrap - Front-end framework for building responsive and mobile-first websites.
- pdfkit - Python wrapper for the wkhtmltopdf tool to convert HTML to PDF.
- JapaNet Demo - Explore a demo version of JapaNet to see its features in action.
- Registration Page for Admin
- Login Page for Admin
- Admin Dashboard
- Add Product:
- Click on Products.
- Click on Add Product.
- Enter the details and attach image.
- Click on Add Product to add to database.
- Update the details of the Products including the images:
- Click on edit.
- Make the neccessary corrections.
- Click on update product to update the product in the database.
- Customer Registration page
- Customer Homepage
- Customer Search
- The custemer can search by brand, description or price. (The price is not optimized)
- Details of items
- Stock Availability
- When the stock reaches 0 in the Admin's database, Out of stock button is displayed instead
- Add to cart
- Payment before checkout
- When the user adds and item to cart, and go to the carts page, the checkout button will be greyed out.
- The user can only checkout after the payment has been confirmed.
- Cart History
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or feedback regarding JapaNet, please contact our team:
- GitHub Repositories: Izuchukwu Peter Abonyi and Bernard Amegah
- Twitter: Izuchukwu Peter Abonyi and Bernard Amegah
- LinkedIn: Izuchukwu Peter Abonyi and Bernard Amegah