Project Name: FlipFlow
Overview
FlipFlow is a comprehensive web application built with Django. It enables users to manage items, conduct transactions, and perform item analytics in an interactive and modern platform.
How to Run the Server
To run the server on your local machine, follow these steps:
1.1 Just Clone the Repository:
git clone https://github.com/yourus...
cd flipflow
1.2 Run "commands open server.py"
This is an automated python script which opens the venv and runs the server for you.
import os
import webbrowser
import socket
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
webbrowser.open("http://{}:8000".form...)
script_dir = os.path.dirname(os.path.abspath(__file__))
# Change the working directory to the script's directory
os.chdir(script_dir)
print("Current working directory:", os.getcwd())
os.system('cmd /k "cd FlipFlow & cd Scripts & activate & cd.. & cd Project & python manage.py runserver {}:8000"'.format(IPAddr))
1.3 case of dependancies error run
@FlipFlow\FlipFlow\Project pip install -r requirements.txt
1.4 manual runserver
@FlipFlow\FlipFlow
open terminal & write .\scripts\activate @FlipFlow\FlipFlow\Project python manage.py runserver
Your application should now be running at http://localhost:8000 or http://<Your-IP-Addres....
️ Technologies Used
Python 3.11+
Django 4.x
Django REST Framework
SQLite3 (Default, pluggable with PostgreSQL/MySQL)
Bootstrap 5 (for frontend UI)
HTML & CSS
JavaScript (Vanilla)
Threading / Multiprocessing (for periodic DB replication)
Git (version control)
️ Key Features
FlipFlow offers the following features to its clients:
Secure accounting using Django’s authentication system.
Add, edit, or remove items to be sold, each with price, description, quantity, and images.
Deposit & withdraw cash into your account to purchase items.
Search for items posted by other users.
Purchase items from others, transferring money and ownership.
View full account info:
Current cash balance
Purchased items
Sold items
Unsold inventory
Inventory management dashboard
User and item analytics, including statistics and charts.
Robust REST API to:
List, create, update, and delete items
Handle authorized transactions
Enable integration with external tools
Batch add items via JSON API (supports automation and integration)
WSGI-threaded full DB replication every 10 seconds for backup and fault tolerance
Project Structure
The FlipFlow project is divided into modular Django apps:
Market – Handles item listing, purchases, and search
Item – Manages individual item CRUD and media
accounts – User registration, login, profile, and balance
api – Exposes RESTful endpoints for all above features Each app includes:
models.py – Data schema
urls.py – App routing
views.py – Core business logic
templates/ – HTML templates
forms.py – Input handling
api/serializers.py – API serializers for DRF
Directory Structure Explanation
accounts/ # User login, registration, profile
api/ # API views and serializers
Item/ # Item models, views, forms
Market/ # Buying, selling, and marketplace logic
media/ # Uploaded item images
Project/ # Django project settings and wsgi
static/ # CSS, JS, and other static assets
templates/ # Shared templates (base, layout, etc.)
db.sqlite3 # Main database file
db_backups/ # Periodic DB backup storage
manage.py # Django management script
requirements.txt # Python dependencies
Screenshots & Images
main view
Screenshot 2025-05-10 001413.png
profile view
Screenshot 2025-05-10 000312.png
inventory managment
Screenshot 2025-05-10 001653.png
api view
? Contributing
We welcome contributions!
To contribute:
Fork this repository
Create a new branch (git checkout -b feature/YourFeature)
Commit your changes
Push to your branch (git push origin feature/YourFeature)
Create a Pull Request
Thank you for checking out FlipFlow!