Reference no: EM132422699
Assignment -
Description - You are required to build a web application with CRUD functionality (create, read, update, and delete) with user access control.
The application should include client and server components with a database storing data:
1. The server should be a RESTful web api built using Nodejs and Express.
2. The client should be built using HTML, CSS, and JavaScript. Use the Fetch api to make calls to the server api endpoints.
3. Use an Azure SQL database for storage
Part 1 - Describe your chosen application area and its functionality.
- Provide a database ERD (no more than 4 tables).
- Define the api endpoints required.
- Define access control for public and admin users.
Part 2 - Create an Azure SQL database with the required tables and sample data.
- Create a user with limited permissions for access via the server app.
- Provide an SQL script to create the database and add sample data.
- Configure the SQL DB Firewall to allow these addresses: 193.1.123.51 - 193.1.123.52 and 79.97.88.49.
Part 3 - Build the server-side Rest API which will allow the data to be accessed.
- Define routes to act as api endpoints (supporting required CRUD functions).
- Use Passport to control access to resources.
- All data should be sent and received as JSON.
- All input data should be validated before use.
Part 4 - Build a client web application using HTML, CSS, and JavaScript. The application should:
- Run in a single page.
- Use Bootstrap 4 for layout and styling.
- Display data in an appropriate format.
- Allow a user to login, logout.
- Control access to functions by conditionally display UI options based on whether a user is logged in.
Part 5 - Marks will be awarded for documentation and code quality and also descriptive code comments.