https://github.com/admin-313/minio-test-app
Demonstration Project for FastAPI as backend and Angular as frontend. MinIO as the database and NginX for a reverse proxy
https://github.com/admin-313/minio-test-app
angular docker-compose fastapi minio nginx-proxy
Last synced: about 1 month ago
JSON representation
Demonstration Project for FastAPI as backend and Angular as frontend. MinIO as the database and NginX for a reverse proxy
- Host: GitHub
- URL: https://github.com/admin-313/minio-test-app
- Owner: admin-313
- License: mit
- Created: 2024-12-19T08:52:26.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-09T09:20:54.000Z (over 1 year ago)
- Last Synced: 2025-02-07T16:41:04.576Z (over 1 year ago)
- Topics: angular, docker-compose, fastapi, minio, nginx-proxy
- Language: HTML
- Homepage:
- Size: 180 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
# MinIO Test App
This is a test project designed to integrate various technologies to create a web application. The primary goal is to explore and demonstrate the interoperability of these technologies.
## Technologies Used
- **FastAPI**: A modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
- **Angular**: A platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.
- **MinIO**: A high-performance, S3 compatible object storage system.
- **Nginx**: A high-performance HTTP server, reverse proxy, and IMAP/POP3 proxy server.
## Purpose
The purpose of this project is to put these technologies together to create a functional web application. This involves setting up a backend with FastAPI, a frontend with Angular, object storage with MinIO, and serving the application using Nginx.
## Getting Started
### Prerequisites
- Python 3.6+
- Node.js and npm
- Docker (for MinIO and Nginx)
### Installation
1. **Clone the repository**:
```bash
git clone https://github.com/yourusername/minio-test-app.git
cd minio-test-app
```
2. **Backend (FastAPI)**:
```bash
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
```
3. **Frontend (Angular)**:
```bash
cd frontend
npm install
ng serve
```
4. **MinIO**:
```bash
docker run -p 9000:9000 -d --name minio \
-e "MINIO_ACCESS_KEY=youraccesskey" \
-e "MINIO_SECRET_KEY=yoursecretkey" \
minio/minio server /data
```
5. **Nginx**:
```bash
docker run -p 80:80 -d --name nginx \
-v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro \
nginx
```
## Contributing
Contributions are welcome! Please fork the repository and submit a pull request.
## License
This project is licensed under the MIT License.
## Acknowledgements
- [FastAPI](https://fastapi.tiangolo.com/)
- [Angular](https://angular.io/)
- [MinIO](https://min.io/)
- [Nginx](https://www.nginx.com/)