Yes, the mountain range (and I mean it :)
- Framework: FastAPI
- Database: PostgreSQL
- ORM: SQLAlchemy
- Migrations: Alembic
- Authentication: JWT
- Market Data: Indian Stock Market API
- AI Integration: OpenAI GPT-5
-
Create Virtual Environment
python -m venv venv source venv/bin/activate # On macOS
-
Install Dependencies
pip install -r requirements.txt
-
Environment Variables Create a
.envfile:DATABASE_URL=postgresql://user:password@localhost:5432/the_alps SECRET_KEY=your_jwt_secret_key ALGORITHM=your_jwt_decode_algorithm ACCESS_TOKEN_EXPIRE_MINUTES=jwt_access_token_validity_in_minutes REFRESH_TOKEN_EXPIRE_DAYS=jwt_refresh_token_validity_in_days INDIAN_STOCK_MARKET_API_KEY=your_api_key OPENAI_API_KEY=your_openai_key -
Database Setup
# Create database createdb the_alps # Run migrations alembic upgrade head
-
Run Development Server
uvicorn main:app --reload
Once running, visit:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
the_alps/
├── alembic/ # Database migrations
├── app/
│ ├── api/ # API endpoints
│ ├── core/ # Core functionality
│ ├── db/ # Database setup
│ ├── models/ # Pydantic models
│ ├── schemas/ # SQLAlchemy models
│ └── services/ # Business logic
├── .env # Environment variables
├── .gitignore # Git ignore file
├── alembic.ini # Alembic configuration
├── main.py # Application entry point
└── requirements.txt # Project dependencies
- Create New Migration
alembic revision --autogenerate -m "description"
- Fork the repository
- Create a new branch (
git checkout -b feature/feature-name) - Commit changes (
git commit -am 'Add feature') - Push to branch (
git push origin feature/feature-name) - Create Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.