|
16 | 16 |
|
17 | 17 | [Live Demo](https://portfolio-tracker-hackstyx.vercel.app) • [API Documentation](#-api-endpoints) • [Report Bug](https://github.com/HackStyx/portfolio-tracker/issues)
|
18 | 18 |
|
| 19 | +> **Note**: Due to the free tier limitations of Render, the initial load of the demo might take 30-60 seconds. If no data appears, please refresh the page. If issues persist, click the logout button to reset the application state. The backend spins down after 15 minutes of inactivity and needs time to restart. |
| 20 | +
|
19 | 21 | 
|
20 | 22 |
|
21 | 23 | </div>
|
@@ -104,25 +106,52 @@ DELETE /api/watchlist/:id # Remove from watchlist
|
104 | 106 |
|
105 | 107 | ## ⚡️ Tech Stack
|
106 | 108 |
|
107 |
| -### Frontend |
108 |
| -- React + Vite |
109 |
| -- TailwindCSS |
110 |
| -- Framer Motion |
111 |
| -- Tremor Charts |
112 |
| -- Axios |
113 |
| - |
114 |
| -### Backend |
115 |
| -- Node.js |
116 |
| -- Express |
117 |
| -- MySQL |
118 |
| -- Knex.js |
| 109 | +### 🎨 Frontend |
| 110 | +- **Framework**: [React](https://reactjs.org/) - A JavaScript library for building user interfaces |
| 111 | +- **Build Tool**: [Vite](https://vitejs.dev/) - Next generation frontend tooling |
| 112 | +- **Styling**: |
| 113 | + - [TailwindCSS](https://tailwindcss.com/) - Utility-first CSS framework |
| 114 | + - [Tremor](https://www.tremor.so/) - React library for dashboards and charts |
| 115 | + - [Framer Motion](https://www.framer.com/motion/) - Animation library |
| 116 | +- **State Management**: React Context API |
| 117 | +- **HTTP Client**: [Axios](https://axios-http.com/) - Promise based HTTP client |
| 118 | + |
| 119 | +### 🛠 Backend |
| 120 | +- **Runtime**: [Node.js](https://nodejs.org/) - JavaScript runtime |
| 121 | +- **Framework**: [Express](https://expressjs.com/) - Web framework for Node.js |
| 122 | +- **Database**: [MySQL](https://www.mysql.com/) - Open-source relational database |
| 123 | +- **ORM**: [Sequelize](https://sequelize.org/) - Modern TypeScript and Node.js ORM |
| 124 | +- **API Documentation**: OpenAPI/Swagger |
| 125 | + |
| 126 | +### 🚀 DevOps & Infrastructure |
| 127 | +- **Frontend Hosting**: [Vercel](https://vercel.com/) |
| 128 | + - Zero-config deployments |
| 129 | + - Automatic HTTPS |
| 130 | + - Edge Network for optimal performance |
| 131 | +- **Backend Hosting**: [Render](https://render.com/) |
| 132 | + - Containerized deployment |
| 133 | + - Automatic scaling |
| 134 | + - Built-in monitoring |
| 135 | +- **Database Hosting**: [Railway](https://railway.app/) |
| 136 | + - Managed MySQL database |
| 137 | + - Automated backups |
| 138 | + - High availability |
| 139 | + |
| 140 | +### 📦 Additional Tools |
| 141 | +- **Version Control**: Git & GitHub |
| 142 | +- **Code Quality**: ESLint & Prettier |
| 143 | +- **API Testing**: Postman |
| 144 | +- **Environment Variables**: dotenv |
| 145 | +- **Security**: CORS, Helmet |
| 146 | +- **Real-time Data**: WebSocket (planned) |
119 | 147 |
|
120 | 148 | ## ⚠️ Limitations
|
121 | 149 |
|
122 | 150 | - Uses simulated stock data
|
123 | 151 | - Single-user environment
|
124 | 152 | - Price updates every minute
|
125 | 153 | - Best viewed in modern browsers
|
| 154 | +- Backend spins down after 15 minutes of inactivity and needs time to restart |
126 | 155 |
|
127 | 156 | ## 📄 License
|
128 | 157 |
|
|
0 commit comments