FileGenie is an advanced document Q&A application I developed to showcase my skills in full-stack development, AI integration, and cloud deployment. This project demonstrates my ability to work with cutting-edge technologies and create practical, user-friendly applications.
- Frontend: React, JavaScript, HTML, CSS
- Backend: Python, Flask
- AI & Machine Learning: Langchain, Google Generative AI, Groq
- Database: FAISS (Facebook AI Similarity Search)
- Cloud Deployment: Render, AWS
- Version Control: Git, GitHub
- API Integration: RESTful API design and implementation
- Security: AWS S3, AWS Secrets Manager, CORS configuration
Experience FileGenie in action: https://filegenie.nehanworks.space
This demo runs on free-tier cloud hosting. The first request after inactivity may take 30-60 seconds due to cold start - this is a hosting limitation, not application performance. Subsequent requests are instant.
For production deployment, this application would run on dedicated infrastructure with instant response times.
Before you begin, ensure you have met the following requirements:
- You have installed Python 3.11 or later
- You have installed Node.js 14.0 or later
- You have a Google API key for Google Generative AI
- You have a Groq API key
To set up FileGenie, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/FileGenie.git cd FileGenie -
Set up the backend:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt -
Create a
.envfile in theparentdirectory with the following content:GOOGLE_API_KEY=your_google_api_key_here GROQ_API_KEY=your_groq_api_key_here -
Set up the frontend:
cd ../frontend npm install
To run FileGenie on your local machine, follow these steps:
-
Start the backend server:
source venv/bin/activate # On Windows use `venv\Scripts\activate` python app.pyThe backend server will start running on
http://localhost:5000. -
In a new terminal, start the frontend development server:
cd frontend npm startThe frontend development server will start running on
http://localhost:3000. -
Open your web browser and navigate to
http://localhost:3000to use FileGenie.
To create a production build of the frontend:
-
Navigate to the frontend directory:
cd frontend -
Create a production build:
npm run build
This will create a build directory with a production build of your app.
-
To run tests for the frontend:
cd frontend npm test -
To eject from Create React App (note: this is a one-way operation):
cd frontend npm run eject
If you encounter any issues:
- Ensure all dependencies are correctly installed.
- Check that your
.envfile contains the correct API keys. - Make sure both backend and frontend servers are running.
For any persistent problems, please open an issue on the GitHub repository.
While FileGenie is primarily a personal project to showcase my skills, I'm open to collaboration and feedback. If you'd like to contribute or have suggestions, please feel free to:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- LinkedIn: LinkedIn
- Email: nehantanwar012@gmail.com
- Portfolio: Portfolio
Feel free to reach out if you have any questions about the project or if you're interested in discussing potential opportunities!
This project is open source and available under the MIT License.