FileXpress is a real-time file transfer system integrated with a chat feature. It is built using Java with Spring, RabbitMQ for message brokering, and WebSockets for handling sessions. The backend is secured with JWT, Cookies, and BCrypt for passwords. The frontend is developed with Nuxt.js, featuring a plain Vue.js UI with SCSS, Pinia, and Vue Toastification.
- Real-time file transfer
- Integrated chat feature
- Secure authentication with JWT and Cookies
- Password encryption with BCrypt
- Session management with WebSockets
- Responsive UI built with Vue.js and SCSS
- State management with Pinia
- Notifications with Vue Toastification
Test.mp4
-
Clone the repository:
git clone https://github.com/CoderAnchel/FileXpress.git cd FileXpress
-
Set up the MySQL database and configure the connection in the
application.properties
file. -
Build and run the backend:
./mvnw clean install ./mvnw spring-boot:run
-
Navigate to the frontend directory:
cd frontend
-
Install the dependencies:
npm install
-
Run the frontend development server:
npm run dev
- Start the backend server.
- Start the frontend development server.
- Open your browser and navigate to
http://localhost:3000
.
-
Backend:
- Java with Spring
- RabbitMQ
- WebSockets
- MySQL
- JWT, Cookies, BCrypt
-
Frontend:
- Nuxt.js
- Vue.js
- SCSS
- Pinia
- Vue Toastificatio
- Fork the repository
- Create your feature 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
Distributed under the MIT License. See LICENSE
for more information.