Task: Develop a Full Stack Application
Objective:
Develop a full stack demo application using Java for the backend and Angular for the frontend. The
application should store its data in a database and provide the data via a RESTful web service. The app
should include user authentication (login and logout) and display some basic information upon
successful login.
Requirements:
1. Backend:
o Language: Java
o Framework: Karaf or Spring Boot
o Database: Choose any relational database (e.g., MySQL, PostgreSQL)
o REST API: Implement RESTful endpoints to handle user authentication and data retrieval.
2. Frontend:
o Language: TypeScript
o Framework: Angular
o UI: Create a simple interface for login, displaying information, and logout.
3. Functionalities:
o User Authentication:
▪ Implement a login functionality where users can enter their credentials.
▪ Validate the credentials against the stored data in the database.
▪ Upon successful login, store the user session securely.
o Display Information:
▪ After logging in, display some basic information (e.g., user profile details,
welcome message).
o Logout:
▪ Implement a logout functionality that ends the user session and redirects to the
login page.
4. Database:
o Design a simple schema to store user credentials and any additional information required
for the basic information display.
o Ensure the database is properly connected to the backend and can handle CRUD
operations.
5. RESTful Web Service:
o Create endpoints for:
▪ User login
▪ Fetching user information
▪ User logout
6. Security:
o Ensure that user passwords are securely stored in the database.
o Provide a session management to handle user authentication securely.
7. Documentation:
o Provide clear instructions on how to set up and run the application.
o Include any assumptions made and any additional features implemented.
Deliverables:
• Source code for both the backend and frontend.
• SQL scripts or database schema for setting up the database.
• Documentation with setup instructions and any additional notes.
Recommended Time Frame: 4 – 8 hours