GithubHelp home page GithubHelp logo

kylewistrand / real-estate-django-server Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 244 KB

Final project for INFO 441 (Server-Side Development) built with Django

Python 92.37% HTML 6.59% Dockerfile 1.04%

real-estate-django-server's People

Contributors

amjadz avatar joesyoon avatar kylewistrand avatar

Watchers

 avatar  avatar  avatar

real-estate-django-server's Issues

Endpoint Implementation - amjadz

Each person should implement one endpoint that was specified in your previous checkin, using the database models that were just created. These endpoints should be functional when they have been completed. Be smart about how you set up these endpoints. For example, if you need authentication to use these endpoints, it will be smart to set up your authentication for this assignment.

Documentation

You must provide documentation of your endpoints and database in the README.md file. You should use markdown and code blocks where appropriate to make it easier to find things in the document.

For each endpoint, include: endpoint route, what behavior it has (implemented HTTP method, status codes, error messages it can return, what it changes in the database, who use the route).

For any non-GET HTTP method, you should include an example input and output. For example, the user might post a JSON object with 3 fields and get some JSON response back.

Endpoint Implementation - kylewistrand

Each person should implement one endpoint that was specified in your previous checkin, using the database models that were just created. These endpoints should be functional when they have been completed. Be smart about how you set up these endpoints. For example, if you need authentication to use these endpoints, it will be smart to set up your authentication for this assignment.

Build Models - joesyoon

Each person should implement approximately an equal number of tables in the database. Each person should do all of the following things at least once, but also in all appropriate places:

  • Override the predefined save() method to do any error checking (resource)
  • Utilize a foreign key
  • Utilize a ManyToMany or OneToMany field
  • "choices" for a field (resource)

For all tables, use the parameters "required", "default", "max_length" (be careful with how it works with TextField-- see documentation), "null", and "unique.

You should use the appropriate field types for each field. Django builds in a lot of automatic database checks and constraints with fields like URLField and EmailField. Choose appropriate sized fields for different data you will store. Ex. Do you need PositiveIntegerField for a large positive value, or would PositiveSmallIntegerField be sufficient? (Available fields: resource)

Build Views - amjadz

Each person should implement 3 views. Each view should

  • Handle at least 3 HTTP methods per view, each of which interact with the database. At least 2 of these 3 must change data in the database. (ex. PATCH, DELETE, POST)
  • Check the user's permission level (normal users, admins, and sellers (or other somewhat privileged user), or if they are authenticated) where appropriate
  • Handle input data through a form, json, or parameter inside a url, ex. channels/int:channel_id
  • Validate input using a form or other checks
  • Appropriately protect any sensitive data, and only the sensitive data, using post-related or variable-related decorators (@sensitive_post_parameters, @sensitive_variables)
  • Provide appropriate error messages when doing database operations or in other situations that could throw errors

At least two views should serve a template with data populated from the database. This does not need to be fancy, but you will likely want to do some programmatic displaying of data utilizing template functionality. See the Django template language.

When you implement a POST method, you need to either 1) make it available to POST json data to in Postman, or 2) have a template. This will make it testable.

Build Database Schema

You will turn in one database schema diagram for a relational database similar to those you made in INFO 330. You should make this using a database schema making tool such as Vertabelo. Push an image of the finished diagram to your repository. All information on it must be legible in the image. You should include the Users table from Django, especially if you are going to have foreign keys to a user.

Requirements:

  • Minimum 5 tables per person in your group
  • Must track user permissions so that you can have 3 different sets of users, ex. normal users, admins, and sellers (or other somewhat privileged user). This will allow you to do things like check if the user is a seller, so that you can display different content to them. You can either create a new table to track each user's permissions in or modify the existing user model in Django.

Build Models - kylewistrand

Each person should implement approximately an equal number of tables in the database. Each person should do all of the following things at least once, but also in all appropriate places:

  • Override the predefined save() method to do any error checking (resource)
  • Utilize a foreign key
  • Utilize a ManyToMany or OneToMany field
  • "choices" for a field (resource)

For all tables, use the parameters "required", "default", "max_length" (be careful with how it works with TextField-- see documentation), "null", and "unique.

You should use the appropriate field types for each field. Django builds in a lot of automatic database checks and constraints with fields like URLField and EmailField. Choose appropriate sized fields for different data you will store. Ex. Do you need PositiveIntegerField for a large positive value, or would PositiveSmallIntegerField be sufficient? (Available fields: resource)

Build Models - amjadz

Each person should implement approximately an equal number of tables in the database. Each person should do all of the following things at least once, but also in all appropriate places:

  • Override the predefined save() method to do any error checking (resource)
  • Utilize a foreign key
  • Utilize a ManyToMany or OneToMany field
  • "choices" for a field (resource)

For all tables, use the parameters "required", "default", "max_length" (be careful with how it works with TextField-- see documentation), "null", and "unique.

You should use the appropriate field types for each field. Django builds in a lot of automatic database checks and constraints with fields like URLField and EmailField. Choose appropriate sized fields for different data you will store. Ex. Do you need PositiveIntegerField for a large positive value, or would PositiveSmallIntegerField be sufficient? (Available fields: resource)

Build Views - kylewistrand

Each person should implement 3 views. Each view should

  • Handle at least 3 HTTP methods per view, each of which interact with the database. At least 2 of these 3 must change data in the database. (ex. PATCH, DELETE, POST)
  • Check the user's permission level (normal users, admins, and sellers (or other somewhat privileged user), or if they are authenticated) where appropriate
  • Handle input data through a form, json, or parameter inside a url, ex. channels/int:channel_id
  • Validate input using a form or other checks
  • Appropriately protect any sensitive data, and only the sensitive data, using post-related or variable-related decorators (@sensitive_post_parameters, @sensitive_variables)
  • Provide appropriate error messages when doing database operations or in other situations that could throw errors

At least two views should serve a template with data populated from the database. This does not need to be fancy, but you will likely want to do some programmatic displaying of data utilizing template functionality. See the Django template language.

When you implement a POST method, you need to either 1) make it available to POST json data to in Postman, or 2) have a template. This will make it testable.

Endpoint Implementation - joesyoon

Each person should implement one endpoint that was specified in your previous checkin, using the database models that were just created. These endpoints should be functional when they have been completed. Be smart about how you set up these endpoints. For example, if you need authentication to use these endpoints, it will be smart to set up your authentication for this assignment.

Build Views - joesyoon

Each person should implement 3 views. Each view should

  • Handle at least 3 HTTP methods per view, each of which interact with the database. At least 2 of these 3 must change data in the database. (ex. PATCH, DELETE, POST)
  • Check the user's permission level (normal users, admins, and sellers (or other somewhat privileged user), or if they are authenticated) where appropriate
  • Handle input data through a form, json, or parameter inside a url, ex. channels/int:channel_id
  • Validate input using a form or other checks
  • Appropriately protect any sensitive data, and only the sensitive data, using post-related or variable-related decorators (@sensitive_post_parameters, @sensitive_variables)
  • Provide appropriate error messages when doing database operations or in other situations that could throw errors

At least two views should serve a template with data populated from the database. This does not need to be fancy, but you will likely want to do some programmatic displaying of data utilizing template functionality. See the Django template language.

When you implement a POST method, you need to either 1) make it available to POST json data to in Postman, or 2) have a template. This will make it testable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.