FileText Extractor is a Node.js web application that allows users to extract text from images, PDFs, and DOCX files. It provides registered users with the ability to store the extracted text in their user profiles. The application is built using Node.js, Express.js, MySQL for the backend, and SSR (Server-Side Rendering) for efficient rendering. Passport strategies are used for authentication, and the front end is built with React, MUI, and Styled Components.
- Extract text from images, PDFs, and DOCX files
- Store extracted text in user profiles
- User authentication with Passport strategies
- Server-Side Rendering for efficient rendering
- Responsive frontend design with React, MUI, and Styled Components
Follow these steps to install and run the FileText Extractor application:
-
Clone the repository:
git clone https://github.com/JohnnyOhms/FileText-Extractor.git
-
Install the dependency:
npm install
-
Set up the database:
-
Create a MySQL database
-
Update the database configuration in the .env file located in the project root directory:
DB_HOST=<your-database-host> DB_PORT=<your-database-port> DB_USER=<your-database-username> DB_PASSWORD=<your-database-password> DB_NAME=<your-database-name>
- Set up the passport js:
-
Create a google auth profile
-
Update the google auth configuration in the .env file located in the project root directory:
GOOGLE_CLIENT_ID = <your-client-id> GOOGLE_CLIENT_SECRET = <your-client-secret>
- run the genKeyPair function in the config/genKeys directory to generate
-
Pulic keys
-
Private Keys
node config/genkeys
-
Start the application:
npm start
- Create a new account or log in to your existing account.
- Once logged in, navigate to the file upload page.
- Select an image, PDF, or DOCX file to upload.
- Click the "Extract Text" button.
- The application will process the file and extract the text.
- You can view and manage your extracted text in your user profile.
The following technologies and libraries were used to build FileText Extractor:
- Node.js - JavaScript runtime environment
- Express.js - Web application framework for Node.js
- MySQL - Relational database management system
- SSR (Server-Side Rendering) - Efficient rendering technique
- Passport.js - Authentication middleware for Node.js
- React - JavaScript library for building user interfaces
- Material-UI (MUI) - React UI framework
- Styled Components - CSS-in-JS library for styling React components
Contributions are welcome! If you would like to contribute to FileText Extractor, please follow these steps:
- Fork the repository.
- Create a new branch for your feature/fix: git checkout -b my-feature.
- Commit your changes: git commit -am 'Add new feature'.
- Push the branch to your fork: git push origin my-feature.
- Submit a pull request.
This project is licensed under the MIT License.
For any questions or inquiries, please email officialjohn662@example.com.