- Supports Gmail.
- Categorize email into distinct labels.
- Authenticate with your Google account securely.
- Send and receive messages with a sleek interface.
- Works on every device with Internet access.
This was proposed as the SiFri-Mail project for the S–CSSE321 and S–CSIS311 classes by three De La Salle University – Dasmariñas students in the first semester of their junior year.
-
Clone the repository:
git clone https://github.com/YuzuiAiko/FrontEnd-Backend.git cd FrontEnd-Backend
-
Install dependencies for the backend:
cd backend npm install
-
Install dependencies for the frontend:
cd ../frontend npm install
-
Set up environment variables:
- Create
.env
files in both thebackend
andfrontend
directories. - Add the required environment variables as specified in the project documentation.
- Create
-
Train the email classifier (optional):
cd backend/classifier python train_model.py
-
Start all services:
cd FrontEnd-Backend ./run.ps1
-
Access the application:
- Frontend: https://localhost:5002
- Backend: https://localhost:5000
-
Log in using your Gmail account or email credentials.
-
Explore features like email categorization, sending emails, and more.
For users who prefer using tmux
to manage multiple terminal sessions, a start_services.sh
script is provided. This script launches all services (SVM Model, Backend, Frontend) in separate tmux
panes for better process management.
-
Ensure
tmux
is installed on your system. You can install it using your package manager:sudo apt install tmux # For Debian/Ubuntu sudo dnf install tmux # For Fedora brew install tmux # For macOS
-
Run the
start_services.sh
script:./start_services.sh
-
The script will:
- Create a new
tmux
session namedservices
. - Start the SVM Model, Backend, and Frontend in separate panes.
- Attach to the
tmux
session for monitoring.
- Create a new
-
To detach from the
tmux
session, pressCtrl+B
followed byD
. -
To reattach to the session later, use:
tmux attach-session -t services
This method is particularly useful for Linux CLI environments or when running the application on a remote server.
- Ensure you have Python 3.8+ and Node.js installed.
- Use
npm start
in thefrontend
directory to run the frontend separately. - Use
node server.js
in thebackend
directory to run the backend separately.