Frontend Developer Needed for Dynamic Email Web App

Job ID: 38538075

Budget: £250 – £750 GBP

We have built a FastAPI backend that functions as an email service (NautixMail API) and have a ready-to-use HTML/CSS template for the frontend. However, we need a frontend developer proficient in JavaScript to make the web application dynamic and integrate it with our FastAPI backend.

This project will involve connecting several backend API endpoints (for authentication, email inbox, sending emails, etc.) to the frontend and making sure users can interact smoothly with the email service.

Project Deliverables:
Authentication & User Management:

Implement login functionality using OAuth or token-based authentication (API endpoints available: /start-auth, /auth-callback, /refresh-token, /user-info).
Ensure that user sessions are securely managed (JWT or similar token storage in localStorage or cookies).

Email Functionality:
Inbox Display: Fetch and display the user’s inbox using /inbox and /single-email/{email_id} API endpoints.

Send Emails: Allow users to compose and send new emails using /send-email (support for attachments, recipients, subject, body).

Reply & Forward Emails: Enable users to reply to and forward emails using the /reply-email/{email_id} and /email/{email_id}/forward endpoints.

Email Actions:
Delete emails using /email/{email_id} (DELETE).
Move emails between folders using /email/{email_id}/move.
Toggle read/unread status of emails with /toggle-read-status/{email_id}.
Implement search functionality using the /search-emails endpoint.

Email Drafts:
Provide functionality for users to create and manage drafts with /create-draft and /send-draft/{message_id}.

Folder Management:
Display the user’s email folders and manage folder-specific messages using /folders and /folders/{folder_id}/messages.

Required Skills:
JavaScript (Vanilla JS or a JS framework like React, Vue.js, or Angular)
API Integration: Experience in consuming and managing REST APIs using JavaScript.

HTML/CSS: Familiarity with working on a pre-existing HTML/CSS template.

Knowledge of Authentication: Experience with token-based authentication (OAuth/JWT).


Additional Details:
Backend Documentation: We have well-documented API endpoints that will be provided once the project begins. The backend is fully operational and only awaits frontend integration.

Frontend Template: We already have an HTML/CSS template so minimal design work is necessary, only JS/logic to integrate it with the backend.
Related categories: JavaScript CSS HTML RESTful API