代写Web Application Python CS留学生题目
COMP249 Assignment: Job Board Web ApplicationThis semester we will be writing a simple job board application calledJobs! that allows users to post job position descriptions.To give you an idea of what the application does, there is a demonstrationversion at http://comp249.stevecassidy.net/.Since this is your first significant web application, weve cut down thefeatures to make it manageable. However we maintain the core of theapplication and what you write could be extended to something like a realproduct. Your application will support logging in users, posting jobsand viewing job listings. We dont require youto be able to register new users or handle user profile changes etc.You are given a starter kit which contains the bare outline of theapplication. From this starting point, you will implement the full sitein phases according to a detailed set of functional requirements. At the endof each phase, a set of automated tests will be used to see if you havemet the criteria for that phase. Some of the marks for this assignmentwill be based on your passing these automated tests.While this task may seem quite daunting, it should be achievable if youwork through the examples we have provided and work on the problembit by bit. We have run similar tasks in the past in COMP249 and moststudents have succeeded in getting a working system going.Level 1The first phase of the project involves writing a basic web applicationthat can serve two pages.Level 2In this phase you will interface to a backend database and provideviews that list all positions.Level 3The next phase of development adds the ability to login to the applicationand post new position listings.Going FurtherThis is just the start of the project. In Assignment 3 you will rewritethe application to use Javascript. in the front end and connect to a back-endservice that I provide. There will be scope to implement new features whenyou tackle that assignment.Required Python ModulesThis project makes use of the following Python modules that you will need to install tocomplete the work and run the tests:Bottle - web development frameworkBottle SQLite plugin- for database access from BottleWebTest - for testing web applicationsYou can use the module installer in PyCharm to install these libraries for your project.Starter KitThe starter kit is a zip file containing a set of Pythonfiles to get you started on this project. These files provide a framework for youto work within, you will need to add more code of your own and possibly moremodules (Python files, templates) to complete the implementation.You can download the starter pack here: comp249-2018-jobs-starter.It is also available as a Bitbucket project comp249-2018-jobs-starter,if you are a git user you could fork the repository from there - please be sure to keep your own versionprivate if you keep your work on Bitbucket (or Github).The contents of the starter pack are as follows:database.py - code to create the database and load sample datamain.py - main application script. with a simple exampleinterface.py - stubs for the level 2 required functionsusers.py - stubs for the level 3 required functionspositions.json - sample job listings taken from the github jobs API.level1_functional.py - functional tests for Level 1level2_functional.py - functional tests for Level 2level2_unit.py - unit tests for Level 2level3_functional.py - functional tests for Level 3level3_unit.py - unit tests for Level 3static - directory containing a sample CSS fileThe database.py module contains code to create the databasetables that you will need for the assignment and load in some sample data fromthe positions.json file. You need to run this file to createthe database when you start the project. You can also re-run it ifyou want to reset your database to a known state.The database contains the following tables:users: fields nick (user nickname), password, avatar (URL of an avatar image)sessions: fields sessionid, usernick, where usernick isa reference to the nick field in the users tableposts: fields id, timestamp, usernick, contentThere are also two other tables votes and follows that are notused in the core requirements but that you can use if you wish to implement further features.Each user is identified by a nickname that is stored in the nick field in the users table. This field is used as a foreign key in other tables to refer tothe user. To select data from both tables you will need to do a query with a join.The positions table deserves further comment. The id field is an auto-incrementedinteger id for each post, you dont need to give this a value, it will automatically get a new unique valuewhen you insert a row. The timestamp field will also default to the current timeand date in the format 2015-02-20 01:45:06 if you dont provide a value when you add a row. So,to add a row to the positions table you just need:sql = &"&"&"INSERT INTO positions (owner, title, location, company, description) VALUES (?, ?, ?, ?, ?)&"&"&"cursor.execute(sql, [usernick, title, location, company, description])db.commit()The code as provided includes a sample Bottleapplication which you can run. It doesnt do much other than generate a static page thatlinks to a copy of these notes. This is your starting point for development andyou should write your code so that main.py is the main application (whenI run your code, this is what Ill look for).You can run the functional andunit tests (level1_functional.py level2_unit.py) to check thatyou have met the requirements at each level. To do this,open the file in PyCharm and click Run, choose to run as &"Python unit-test&". Alternately,run them from the command line eg. python level1_functional.py.Note that if you follow the written requirements set out in the pages linked above, youshould pass the functional tests. A reasonable way to work would be to read and implementeach functional requirement in turn and then run the functional tests when you are done as a check.SubmissionYou will submit this work in two parts: after you have completed Level 2, and after youhave completed Level 3. The Level 2 submission is intended to check on your progresswith the assignment so that we can provide you with feedback and identify anyonewho needs support. See iLearn for the dates of these submissions.For each submission you should submit a zip filewith the same structure as the starter pack. We will expect to run main.pyto see your application. Include any support files that you need for your applicationto work. A good idea would be to unpack your zip file at a new location and try torun it yourself.Grading the AssignmentThis assignment is worth 20% of the final marks for COMP249.A total of 12 marks will be entirely based on achieving the stated functionaland unit-test requirements and passing the automated tests.The remaining 8 marks will be based on the quality of the code and documentation that youprovide, and on the appearance of your web application.Each automated test is worth 0.5 marks; there is a totalof 24 tests giving 12 marks in total. The breakdown oftests for each level is as follows:LevelFunctional TestsUnit TestsMarks14-223543576To pass this assignment you must pass all of the automated tests..This may seem like a tough requirement but without passing these testsyou dont have a working web application.The remaining 8 marks will decide whether you get a Creditor Distinction/High Distinction for the assignment. The criteria are:Appearance (3 Marks)Your web application is visually well designed and consistently styled.For a Credit, you will have applied a clear design to all pages in yourapplication. For a D/HD your design will include some noveltyor use advanced aspects of HTML/CSS and possibly Javascript.Code Quality (3 marks)Your code isreadable and well structured. For a Credit, we should not haveany trouble working out how you implemented a given feature. For aD/HD, you will have thought hard about how the application asa whole fits together and made good use of modules.Documentation (2 Marks)You have provided appropriate documentation. For a Credit, youwill have used documentation strings and in-line comments whereappropriate in your code. For D/HD, you will have provided documentation ofyour application that would be useful to a future developer, yourdocumentation will includefunctional tests in the form. of user stories for your new features.Your final grade will be calculatedbased on your performance against the above criteria.Jobs is a class project for COMP249 at Macquarie UniversityJobs uses Twitter Bootstrap本团队核心人员组成主要包括BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com 微信:codehelp