Arizona State University Capstone Project
Final Grade: A
A full-stack Django web application enabling users to practice stock trading strategies without financial risk. Features real-time portfolio tracking, order confirmation workflows, and administrative market controls.
๐ Live Application: https://investr-iklw.onrender.com
Admin Dashboard: https://investr-iklw.onrender.com/admin
๐ข System Status: stats.uptimerobot.com/UuxJ2DiPIX
Note: Application stays warm 24/7 via UptimeRobot monitoring - no cold starts!
Team Members:
- Jorge Aguilar
- Richard Lahaie
- Summer Olson
Course: IFT 401 - Information Technology Capstone
Institution: Arizona State University - Ira A. Fulton Schools of Engineering
Semester: Fall 2024
Professor: Michael Walsh
Final Grade: A
Original Repository: jraguil5/IFT401-FinalProject
- โ User Authentication - Secure registration and login system with email validation
- โ Buy Stocks - Order confirmation modal with cancellation option before execution
- โ Sell Stocks - Review and confirm sale details with ability to cancel before finalizing
- โ Real-time Portfolio - Live tracking of holdings, market values, and account equity
- โ Cash Management - Deposit and withdraw virtual funds with balance validation
- โ Transaction History - Complete audit trail of all trades and cash movements
- โ Stock Management - Create and manage securities with ticker symbols and company names
- โ Market Hours Configuration - Set trading schedules (open/close times, weekdays)
- โ Price Generator - Manual button to trigger price updates with random fluctuations
- โ Market Hours Validation - Prevents trading outside configured hours (24/7 capable for demo)
- โ Real-time Price Updates - Dynamic stock pricing with daily high/low/opening price tracking
- โ Database Integration - Full referential integrity across all tables
- โ Complete Order Workflow - Order โ Trade โ Transaction pipeline with transactional consistency
- HTML5, CSS3, JavaScript (ES6)
- Custom responsive design
- AJAX for dynamic updates
- Modal-based order confirmations
- Python 3.12
- Django 5.1 - Web framework
- Django REST Framework - API endpoints
- Gunicorn - WSGI HTTP server
- PostgreSQL 16 - Production (Render)
- MySQL 8.0 - Original deployment (AWS RDS)
- SQLite - Local development
- Render - Free tier hosting (current)
- AWS Elastic Beanstalk - Original production deployment
- AWS RDS - Managed MySQL database
- Git/GitHub - Version control and collaboration
- WhiteNoise - Static file serving
- UptimeRobot - 24/7 uptime monitoring and status page
- Python 3.12 or higher
- pip and virtualenv
- PostgreSQL / MySQL / SQLite (development)
- Git
# 1. Clone repository
git clone https://github.com/Stork66722/InvestR.git
cd InvestR
# 2. Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Environment configuration
cp .env.example .env
# Edit .env with your database settings
# 5. Database setup
python manage.py migrate
# 6. Create superuser (admin account)
python manage.py createsuperuser
# 7. Create sample stock data (optional)
python manage.py shell
>>> from customer.models import Stock
>>> Stock.objects.create(
... ticker='AAPL',
... company_name='Apple Inc.',
... current_price=189.41,
... opening_price=189.00,
... day_high=190.50,
... day_low=188.00,
... float_shares=1000000
... )
>>> exit()
# 8. Run development server
python manage.py runserverAccess application: http://localhost:8000
โ
Implemented order confirmation workflow mirroring professional platforms (Robinhood, E*TRADE)
โ
Built RESTful API endpoints for portfolio tracking and transaction management
โ
Designed normalized MySQL/PostgreSQL database with full referential integrity
โ
Deployed production environment on AWS Elastic Beanstalk with RDS
โ
Migrated to Render with PostgreSQL for cost optimization
โ
Created admin dashboard with comprehensive market control features
โ
Two-week sprint cycles with iterative feature development
โ
Requirements validation at every development milestone
โ
Post-deployment enhancement (added order confirmation after initial release)
โ
Effective team collaboration via GitHub (90+ commits across 3 developers)
1. Requirements Traceability
- Initially implemented instant trade execution
- Discovered missed requirement during final review: "User must have option to cancel order before execution"
- Solution: Added confirmation modals to both buy and sell workflows
- Takeaway: Always create requirements traceability matrix at project start; validate at every milestone
2. Cloud Deployment Best Practices
- Encountered AWS deployment failure due to virtual environment conflicts
- Root cause: Local
venv/uploaded to AWS, conflicting with Elastic Beanstalk's environment - Solution: Created
.ebignoreto excludevenv/, verifiedrequirements.txtcompleteness - Takeaway: Understand cloud platform expectations; never commit virtual environments to version control
3. Version Control & Team Collaboration
- GitHub enabled effective distributed development across 3 team members
- Branching strategy prevented conflicts during parallel feature development
- Code review process caught bugs before production deployment
- Takeaway: Proper Git workflow is essential for team projects
- Reset password function
- Integrate live market data via financial APIs (Alpha Vantage, IEX Cloud)
- Add advanced charting with technical indicators
- Implement automated price updates on scheduled intervals
- Create portfolio performance analytics and reporting dashboards
- Add email notifications for order confirmations and price alerts
- Build watchlist functionality for tracking favorite stocks
- Develop mobile-responsive design improvements
- Add social features for sharing trading strategies
- Implement machine learning-based price prediction models
- Business Case: Requirements specification and problem definition
- Design Document: System architecture and database schema
- Build Deck: Implementation details and final presentation
- Professor Michael Walsh - Course instructor and project advisor
- Arizona State University - Ira A. Fulton Schools of Engineering
- Team Members - Jorge Aguilar and Summer Olson for outstanding collaboration
- AWS Academy - Cloud computing resources and training
Richard Lahaie
- GitHub: @Stork66722
- Repository: InvestR
- LinkedIn: www.linkedin.com/in/richard-lahaie-332b5959
- Email: stork66722@gmail.com
This project was created as an academic capstone and is available for educational and portfolio purposes.
This repository is a copy maintained independently for portfolio purposes. Original collaborative project completed Fall 2025 with a final grade of A+.