Skip to content

ADINA-ISRAN/AuthenticationSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 User Authentication System (React + Spring Boot)

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.


🚀 Features

  • 🔐 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

🖥️ Tech Stack

🔹 Frontend

  • React.js
  • HTML, CSS
  • Axios (API calls)
  • React Router (navigation)

🔹 Backend

  • Spring Boot
  • REST APIs
  • Spring Security (optional)
  • Java

🔹 Database

  • MySQL / H2 (depending on your setup)

📁 Project Structure

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

🔄 Application Flow

Home Page
   ↓
Login / Signup
   ↓
Backend Authentication (Spring Boot API)
   ↓
Dashboard (Protected Route)
   ↓
Logout → Back to Home

🔗 API Endpoints (Example)

  • POST /api/auth/signup → Register user
  • POST /api/auth/login → Authenticate user
  • GET /api/user/profile → Fetch user data

🎨 UI Design

  • Clean login & signup forms
  • Responsive React components
  • Sidebar/dashboard after login
  • User-friendly navigation

⚙️ Installation & Setup

1️⃣ Clone Repository

git clone https://github.com/your-username/authentication-system.git
cd authentication-system

2️⃣ Backend Setup (Spring Boot)

cd backend
  • Configure database in application.properties
  • Run the application:
mvn spring-boot:run

3️⃣ Frontend Setup (React)

cd frontend
npm install
npm start

🌐 Application URLs


🔐 Authentication Logic

  • 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


⚠️ Limitations

  • Basic authentication (can be improved)
  • Token handling may be simple (if not using JWT yet)
  • UI can be further enhanced

📈 Future Enhancements

  • 🔐 JWT Authentication
  • 🔒 Password hashing (BCrypt)
  • 📧 Email verification
  • 🔑 Forgot password feature
  • ☁️ Deployment (AWS / Render / Vercel)
  • 🎨 Improved UI/UX

🎯 Purpose

This project demonstrates:

  • Full-stack development (React + Spring Boot)
  • REST API integration
  • Authentication flow implementation
  • Real-world application architecture

👨‍💻 Author

  • ADINA ISRAN

⭐ If you like this project

Give it a ⭐ on GitHub and feel free to contribute!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors