This project is a simple example of an fullstack application for uploading, storing and sharing images.
Frontend: React, React Bootstrap and React Icons
Backend: FastAPI
Database: MongoDB
Storage: MinIO
To run this project, you will need to install docker and create an .env file. Save .env file in the root directory of the project with the following environment variables
MONGO_INITDB_ROOT_USERNAME=user
MONGO_INITDB_ROOT_PASSWORD=password
MONGO_INITDB_DATABASE=namedatabase
DATABASE_URL=mongodb://user:password@mongodb:27017/namedatabase?authSource=admin&retryWrites=true&w=majority
CLIENT_ORIGIN=http://localhost:3000
MINIO_URL=minio:9000
MINIO_ACCESS_KEY=minio
MINIO_SECRET_KEY=minio123
MINIO_SECURE=False
To start the webapp run the following command in the root directory of the project:
docker-compose up -d --build
Once Docker created the containers you can access:
Frontend:
localhost:3000
Backend Docs:
localhost:8000/docs
MinIO Console:
http://localhost:9001
- Unit Testing
- Styling
- Document code better