A React + Vite web application that lets medical professionals check their eligibility for the TEMFC exam via a real‑time, SSE‑driven interface.
🔗 Live Demo: https://temfc-checker.vercel.app
Provide a fast, user‑friendly interface for healthcare professionals to submit their CPF and name, track processing progress in real time, and receive instant eligibility results for the TEMFC exam.
- Framework: React 18 + Vite
- HTTP Client: Axios
- Real‑Time: Server‑Sent Events (EventSource)
- Styling: Styled‑Components / CSS‑in‑JS
- Containerization: Node.js & Nginx Docker images
- CD: GitHub Actions → Docker Hub → Vercel
- UI/UX: Headless UI, Lottie Animations
- ✅ Responsive UI with form validation
- ⏳ Real-time progress updates via SSE
- 🔍 Detailed eligibility results with validation criteria
- 📝 Input sanitization and error handling
- 🔒 Terms and conditions agreement
- 🐳 Dockerized for consistent deployment
- 🔁 Automated CD pipeline
TEMFC-frontend/
├── src/
│ ├── api/
│ │ └── eligibilityApi.js
│ ├── components/
│ ├── hooks/
│ ├── pages/
│ ├── styles/
│ ├── utils/
│ ├── App.jsx
│ └── main.jsx
├── index.html
├── .env.example
├── public/
├── Dockerfile
├── nginx/nginx.conf
├── vite.config.js
├── package.json
├── jest.config.js
├── .eslintrc.js
└── .github/workflows/cd.yml
- Node.js 18+ & npm
- A running instance of the TEMFC Backend API
git clone https://github.com/victortsrodrigues/TEMFC-frontend.git
cd TEMFC-frontend
npm install
Create a .env
file in the root directory:
VITE_API_BASE_URL=https://your-api-url.com
.env
. Add it to .gitignore
.
npm run dev
Then open: http://localhost:5173
docker build -t temfc-frontend .
docker run --rm -p 8080:80 --env-file .env temfc-frontend
Full CD pipeline:
- Build Docker image and push to Docker Hub
- Deploy to Vercel automatically on
main
branch
Pipeline file: .github/workflows/cd.yml
- User enters their full name and CPF in the form.
- User accepts terms and conditions.
- App sends POST via Axios to backend
- Backend processes and streams SSE updates
- Frontend displays live progress & eligibility result with detailed information.
- User can start a new verification if needed.
The application is fully responsive and optimized for:
- Desktop computers
- Tablets
- Mobile phones
Responsive design is implemented using styled-components
with media queries based on theme breakpoints.
Pull requests are welcome!
For major changes, please open an issue first to discuss what you'd like to change.
To contribute:
- Fork the repository
- Create a feature branch
- Commit your changes with clear messages
- Ensure tests are included if applicable
- Open a pull request
MIT © Victor Rodrigues