A modern web application for comparing different fixed income investments, calculating returns, and making informed investment decisions.
- Calculate returns for various fixed income investments
- Compare multiple investments side by side
- Support for different investment types (CDB, LCI, LCA, etc.)
- Tax calculations and exemptions
- Interactive charts and visualizations
- Responsive and modern UI
- FastAPI (Python)
- SQLAlchemy (ORM)
- Alembic (Migrations)
- PostgreSQL (Database)
- Pydantic (Data validation)
- React
- TypeScript
- Tailwind CSS
- Radix UI
- React Query
- Recharts
- Python 3.8+
- Node.js 16+
- PostgreSQL
- Git
- Clone the repository:
git clone https://github.com/yourusername/fixed-income-comparison.git
cd fixed-income-comparison- Set up the backend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt- Set up the database:
# Create a PostgreSQL database
createdb fixed_income_db
# Run migrations
alembic upgrade head- Set up the frontend:
cd frontend
npm install- Create a
.envfile in the backend directory:
DATABASE_URL=postgresql://user:password@localhost:5432/fixed_income_db
SECRET_KEY=your-secret-key- Create a
.envfile in the frontend directory:
VITE_API_URL=http://localhost:8000- Start the backend server:
cd backend
uvicorn app.main:app --reload- Start the frontend development server:
cd frontend
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- API endpoints are defined in
backend/app/api/ - Database models are in
backend/app/models/ - Business logic is in
backend/app/services/
- Components are in
frontend/src/components/ - Pages are in
frontend/src/pages/ - API integration is in
frontend/src/api/
cd backend
pytestcd frontend
npm test- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.