I built a Django project that allows users to manage their cryptocurrency portfolios by utilizing API calls to the CoinGecko cryptocurrency API. This application was built with a TDD (Test Driven Approach), The following features are implemented:
- Users can sign up, log in, and log out of the system.
- Passwords are securely stored and hashed using Django's built-in authentication system.
- Users can invite other users to join the platform using a referral link
- Referral links are tracked and the referrer receives a bonus when a new user signs up using their link
- Users can Sell or delete cryptocurrencies to their wallet
- Each cryptocurrency has a name, current price, and quantity which the user can add to their portfolio
- Users can see a detail view of their portfolio, which shows the value of each cryptocurrency in their wallet and the total value of their portfolio
- Users can search for new Cryptocurrencies to add to their portfolio
- Users can View their Previous Holdings
- The homepage shows the 24-hour price and percentage change of the top 10 ranked cryptocurrencies
- It also displays the 24-hour price and percentage change of the currencies
- Clone the repository:
git clone https://github.com/DonGuillotine/django-crypto-portfolio - Install a virtual environment
pip install virtualenv(If you don't have one) - Create a virtual environment
virtualenv env - To Activate the virtual environment
cd Scriptsthen typeactivateto activate the virtual environment. Finally change directory back to the project root withcd .. - Install the required packages:
pip install -r requirements.txt - Apply database migrations:
python manage.py migrate - Create a Superuser:
python manage.py createsuperuser - Change Directory
cd crypto_portfolio - In the
settings.pychangeSECRET_KEY = config('SECRET_KEY')toSECRET_KEY = "ANY-RANDOM-KEY" - Run the server:
python manage.py runserver
- Open your web browser and go to
http://localhost:8000 - Register for an account or log in if you already have one
- Add cryptocurrencies to your wallet and track your portfolio value
- Invite other users to join the platform using your referral link








