A full-stack web application that provides secure user authentication using React (frontend) and Spring Boot (backend). The system allows users to register, log in, and access protected pages with proper session handling.
-
🔐 User Authentication
- Login with email & password
- Secure validation via backend
-
📝 User Registration
- Create new accounts
- Prevent duplicate users
-
🔄 Session Management
- Maintain login state
- Protected routes in frontend
-
🚪 Logout
- Clear session/token
- Redirect to home page
-
🧭 Navigation Flow
- Home → Login/Signup → Dashboard
- Logout → Back to Home
- React.js
- HTML, CSS
- Axios (API calls)
- React Router (navigation)
- Spring Boot
- REST APIs
- Spring Security (optional)
- Java
- MySQL / H2 (depending on your setup)
Authentication-System/
│
├── frontend/ # React App
│ ├── src/
│ │ ├── components/ # Login, Signup, Dashboard
│ │ ├── pages/
│ │ ├── App.js
│ │ └── index.js
│
├── backend/ # Spring Boot App
│ ├── controller/
│ ├── service/
│ ├── repository/
│ ├── model/
│ └── application.properties
│
└── README.md
Home Page
↓
Login / Signup
↓
Backend Authentication (Spring Boot API)
↓
Dashboard (Protected Route)
↓
Logout → Back to Home
POST /api/auth/signup→ Register userPOST /api/auth/login→ Authenticate userGET /api/user/profile→ Fetch user data
- Clean login & signup forms
- Responsive React components
- Sidebar/dashboard after login
- User-friendly navigation
git clone https://github.com/your-username/authentication-system.git
cd authentication-systemcd backend- Configure database in
application.properties - Run the application:
mvn spring-boot:runcd frontend
npm install
npm start- Frontend: http://localhost:3000
- Backend: http://localhost:8080
-
User submits login/signup form (React)
-
Request sent to Spring Boot API
-
Backend validates credentials
-
On success:
- Returns response (JWT/session)
- Frontend stores token/session
-
Protected routes allow access only if logged in
- Basic authentication (can be improved)
- Token handling may be simple (if not using JWT yet)
- UI can be further enhanced
- 🔐 JWT Authentication
- 🔒 Password hashing (BCrypt)
- 📧 Email verification
- 🔑 Forgot password feature
- ☁️ Deployment (AWS / Render / Vercel)
- 🎨 Improved UI/UX
This project demonstrates:
- Full-stack development (React + Spring Boot)
- REST API integration
- Authentication flow implementation
- Real-world application architecture
- ADINA ISRAN
Give it a ⭐ on GitHub and feel free to contribute!