A Node.js/Express application for analyzing investment portfolios using AI.
- User authentication with JWT
- Secure password hashing with bcrypt
- MongoDB database integration
- Express.js REST API
- Winston logger for application logging
- Node.js 18.x or 20.x
- MongoDB database
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/AndrewDoan01/ai-portfolio-analyzer.git
cd ai-portfolio-analyzer- Install dependencies:
npm install- Set up environment variables:
Create a
.envfile in the root directory with the following variables:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_keyStart the development server:
npm startThe server will start on http://localhost:5000 (or the PORT specified in your .env file).
npm start- Start the applicationnpm test- Run tests (placeholder)npm run lint- Run linter (placeholder)
GET /- Welcome endpoint
- Authentication routes available at
/auth
ai-portfolio-analyzer/
├── backend/
│ ├── app.js # Main application file
│ ├── config/ # Configuration files
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
├── .github/
│ └── workflows/ # CI/CD workflows
├── package.json
└── README.md
This project uses GitHub Actions for continuous integration and deployment:
-
CI: Runs on every push and pull request to
mainanddevelopbranches- Tests against Node.js 18.x and 20.x
- Installs dependencies and runs tests
- Verifies code syntax
-
CD: Runs on push to
mainbranch- Placeholder for deployment configuration
- See
.github/workflows/README.mdfor deployment setup instructions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.
Project Link: https://github.com/AndrewDoan01/ai-portfolio-analyzer