-
Notifications
You must be signed in to change notification settings - Fork 5
Home
d-chobotar edited this page Jul 16, 2024
·
1 revision
A Crypto Portfolio Tracker that allows users to manage their cryptocurrency investments and track the value of their holdings in real-time. The application will include user authentication, CRUD operations for managing cryptocurrency assets, and integration with a third-party API for real-time cryptocurrency prices.
- Registration: Users can register with their email and password.
- Login: Users can log in with their credentials.
- Password Reset: Users can reset their password if forgotten.
- Add Cryptocurrency: Users can add cryptocurrencies to their portfolio with details like coin name, amount held, and purchase price.
- View Portfolio: Users can view a summary of their cryptocurrency holdings.
- Edit Cryptocurrency: Users can edit the details of their holdings.
- Delete Cryptocurrency: Users can delete cryptocurrencies from their portfolio.
- Fetch Current Prices: Integrate with a third-party API (e.g., CoinGecko, CoinMarketCap) to fetch real-time prices for cryptocurrencies.
- Update Portfolio Value: Calculate the current value of the user's portfolio based on real-time prices.
- Portfolio Views: Home page (overview), portfolio list page, add/edit cryptocurrency page.
- Frontend: HTML5, CSS3, JavaScript, React, Bootstrap
- Backend: Python, Flask, MySQL
- Version Control: Git
- Security: bcrypt for password encryption
- API Integration: CoinGecko or CoinMarketCap API
- Deployment: Heroku, Vercel, or AWS
- User Registration: As a user, I want to register an account so that I can access the platform.
- User Login: As a user, I want to log in to my account so that I can access personalized features.
- Password Reset: As a user, I want to reset my password if I forget it so that I can regain access to my account.
- Add Cryptocurrency: As a user, I want to add new cryptocurrencies to my portfolio so that I can track my investments.
- View Portfolio: As a user, I want to view a summary of my cryptocurrency holdings so that I can see the current value of my portfolio.
- Edit Cryptocurrency: As a user, I want to edit my cryptocurrency holdings so that I can update purchase details.
- Delete Cryptocurrency: As a user, I want to delete cryptocurrencies from my portfolio so that I can manage my holdings.
- Fetch Current Prices: As a user, I want to see the current prices of my cryptocurrencies so that I can track my portfolio's value in real-time.
- Define project scope and requirements.
- Create wireframes and design mockups.
- Set up the project repository on GitHub.
- Write user stories and plan tasks for the first sprint.
- Set up the development environment.
- Implement user authentication (registration, login, password reset) in React.
- Develop the Home Page and Portfolio List components.
- Create forms for adding and editing cryptocurrency holdings.
- Set up Flask and MySQL.
- Implement user authentication routes and models.
- Create API endpoints for portfolio management (CRUD operations).
- Integrate frontend with backend (API calls).
- Integrate CoinGecko or CoinMarketCap API for real-time price tracking.
- Write unit tests and conduct user testing.
- Fix bugs and optimize the application.
- Deploy the application to a production environment (Heroku, Vercel, or AWS).
- Monitor and maintain the application.
- Form your team or decide to proceed solo.
- Create a GitHub project and invite your team members.
- Define user stories and start planning tasks for each sprint.
- Begin development following the structured plan above.