【comp221】Flask Python Web

A Simple Holiday House Rental System

 

Develop a Flask Python Web App for a Holiday House Rental System. The application should include a login system and separate dashboards for three user roles: customer, staff and admin. Users should be able to login to the system and access their respective dashboards as well as to perform specific actions related to holiday house rental operations. This is a simplified version without the booking and rental functionalities as the focus is on providing different level of access for different user roles. 

 

 

User Login

You will need to: 

  • Create a login page where users can enter using a username and password. 
  • Implement a password hashing and salting techniques to ensure secure storage of user passwords. 
  • Provide a new user registration functionality that allows new customer users to register and create a customer account themselves. In this process they will provide their details and set a unique username and password. 

 

 

User Roles and Access Control

  • Define three user roles: customer, staff and admin. 
  • Implement a role-base access control system that restricts access to certain pages or features based on the user’s role. 
  • Customers should be able to manage their own profile (update personal information and change password) and view all the holiday houses available for rent. When viewing holiday houses, customers should be able to click on each holiday house to get detailed information. 
  • Staff members should be able to manage their own profile (update personal information and change password), view customer profiles and manage holiday houses (add, update and delete holiday houses). 
  • Admin should have full access to the system and the ability to manage customers (add, update and delete customers), staff (add, update and delete staff) and holiday houses (add, update and delete holiday houses) and view the list of all holiday houses. 

 

Data Requirements

  • Customer profile (name, customer number, address, email, phone number) 
  • Staff profile (name, staff number, email, phone number, date joined) 
  • Holiday Houses (house id, house address, number of bedrooms, number of bathrooms, maximum occupancy, rental per night, house image) 
  • The database should contain at least 5 customers, 3 staff, one admin and 20 different holiday houses. 
  • Design and implement a database schema and populate it with data to meet these requirements. 

 

 

Dashboard Pages

  • Create separate dashboard pages for each user role.  
  • Design and implement a visually appealing user interface for each dashboard. 
  • Customise the functionality and features available on each dashboard based on the associated user role. 

 

Deliverables

  A fully functional Flask Python web application for a holiday house rental system with a login system and a role-based dashboards. 

 

Project Requirements

 

You must  

  • Use only Python & Flask, Bootstrap CSS, JavaScript, MySQL. Do not use SQLAlchemy or ReactJS (or other similar technologies) in your solution. 
  • Create a private GitHub repository that contains: 
    • All Python, HTML, images and any other required files for the web app o A requirements.txt file showing the required pip packages. o MySQL scripts for creating and populating the database. o README file with comments.  
    • Your repository must have a .gitignore file and therefore not have a copy of your virtual environment. 
    • Add lincolnmac (computing@lincoln.ac.nz) as a collaborator to your private GitHub repository. 
  • Host your system (including database) using pythonAnywhere o Add lincolnmac as your “teacher” via the site configuration. 
  • Submit via the link on LEARN COMP639 Page the COMP639 Web App Hand-In Sheet. This includes details of: o Your PythonAnywhere URL. o Your GitHub repository URL. o Usernames and Passwords for Customers, Staff and Admin for testing purposes.  
    • Confirmation that certain files have been saved in you GitHub repository.  

相关推荐

  1. comp221】Flask Python Web

    2024-01-07 16:18:03       36 阅读
  2. Software Development Tools COMP220

    2024-01-07 16:18:03       7 阅读
  3. comp21 Python web computer language

    2024-01-07 16:18:03       17 阅读
  4. connect to host github.com port 22: Connection timed out

    2024-01-07 16:18:03       30 阅读
  5. ssh: connect to host github.com port 22: Connection refused

    2024-01-07 16:18:03       28 阅读
  6. COMP9517】Computer Vision

    2024-01-07 16:18:03       38 阅读
  7. Python comp233

    2024-01-07 16:18:03       35 阅读
  8. COMP9517 Computer Vision

    2024-01-07 16:18:03       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-07 16:18:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-07 16:18:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-07 16:18:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-07 16:18:03       18 阅读

热门阅读

  1. C++实现分水岭算法(Watershed Algorithm)

    2024-01-07 16:18:03       30 阅读
  2. Ribbon相关问题及答案(2024)

    2024-01-07 16:18:03       31 阅读
  3. c++关联容器详细介绍

    2024-01-07 16:18:03       31 阅读
  4. 【IC前端虚拟项目】MVU FS文档编写与注意事项

    2024-01-07 16:18:03       39 阅读
  5. DSSW:MAX

    2024-01-07 16:18:03       39 阅读
  6. c++实验 引用与指针

    2024-01-07 16:18:03       41 阅读
  7. ECMAScript2015(ES6)

    2024-01-07 16:18:03       30 阅读
  8. 20240107 SQL基础50题打卡

    2024-01-07 16:18:03       44 阅读