AReact + TypeScript + Tailwind CSS frontend built to showcase user authentication and profile management for the FortSpring Security API — a Spring Boot backend providing JWT-based authentication.
This frontend consumes endpoints like:
POST /api/registerPOST /api/loginPOST /api/logoutGET /api/profilePUT /api/update(optional)
- JWT-based authentication (login/register/logout)
- User profile management (view + update)
- Built with Vite + React + TypeScript
- Styled using Tailwind CSS
- Integrated with Spring Boot backend (FortSpring Security API)
- Modular folder structure ready for scaling
| Category | Technology |
|---|---|
| Framework | React 18+ |
| Build Tool | Vite 6+ |
| Language | TypeScript |
| Styling | Tailwind CSS |
| HTTP Client | Axios |
| State | React Hooks / Context API |
| Backend | Spring Boot 3 (Kotlin) |
| Auth | JWT tokens stored in localStorage |
- Node.js ≥ 18+
- npm or yarn
- Running backend API (
FortSpring Security API) at:http://localhost:8080/api
git clone https://github.com/Killercavin/fortspring-ui.git
cd fortspring-uinpm install
# or
yarn install
# or
pnpm installCreate a .env file in the project root:
VITE_API_BASE_URL=http://localhost:8080/apinpm run devVite will start a local server at:
fortspring-ui/
├── src/
│ ├── api/
│ │ └── AxiosClient.ts
│ ├── components/
│ │ ├── Navbar.tsx
│ ├── pages/
│ │ ├── RegisterPage.tsx
│ │ ├── LoginPage.tsx
│ │ ├── ProfilePage.tsx
│ │ └── Home.tsx
│ ├── index.css
│ ├── main.tsx
│ └── App.tsx
├── public/
├── .env
├── tailwind.config.js
├── package.json
├── LICENSE
└── README.md
- Register → POST
/registerwith{ firstName, lastName, email, password, role? } - Login → POST
/login→ receive JWT token - Store token →
localStorage.setItem("token", jwt) - Authenticated requests → attach
Authorization: Bearer <token>header - Profile → GET
/profileto retrieve user info - Logout → clear token + redirect to login
This project is licensed under the MIT License.
Cavin (Killercavin)
Backend: Kotlin + Spring Boot
Frontend: React + TypeScript + Tailwind
“Building secure, elegant, and modular full-stack systems.”
- Add toast notifications
- Add global AuthContext
- Add logout + protected routes
- Deploy frontend to Vercel
- Connect backend via public API endpoint
Repository structure:
fortspring-security→ Backend (Spring Boot + Kotlin) - Backend Repofortspring-ui→ Frontend (React + TS + Tailwind)