
Overview
For this project, you and your team will build a Django application with full CRUD. Your team gets to decide what to build as long as it meets the technical requirements outlined below.
You will work in a group on this project.
❗️ As a reminder, General Assembly has a zero-plagiarism policy. Your project’s code must be substantially yours. Do not copy code from similar projects or other sources. However, using code from the internet to accomplish generic tasks is okay - for example, a line of code that replaces a character at a specific position in a string.
A printable version of the project requirements can be found here.
Technical requirements
MVP
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them. Your group’s project must fulfill the below requirements.
- The app utilizes Django templates for rendering templates to users.
- PostgreSQL is used as the database management system.
- The app uses Django’s built-in session-based authentication.
- Authorization is implemented in the app. Guest users (those not signed in) should not be able to create, update, or delete data in the application or access functionality allowing those actions.
- The app has at least one data entity in addition to the User model. At least one entity must have a relationship with the User model.
- The app has full CRUD functionality.
- The app is deployed online so that the rest of the world can use it.
Code convention
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your group’s project must fulfill the below requirements.
- The files in the application are organized following the conventions demonstrated in lectures.
- The code in the application adheres to coding conventions covered in lessons, like using plural names for lists.
- The application does not contain dead code, commented-out sections, or prints.
- The app runs without errors in both the terminal and the browser console.
- The application is coded using proper indentation.
UI/UX
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your group’s project must fulfill the below requirements.
- The app exhibits a visual theme, like a consistent color palette and cohesive layout across pages.
- The app is easily navigable by a first-time user. For example, navigation should be done through links instead of having to type in a URL to navigate around the app.
- The app utilizes CSS Flexbox and/or Grid for page layout design.
- Colors used in the app have appropriate contrast that meet the WCAG 2.0 level AA standard.
- When editing an item, the form is pre-filled with that item’s details.
- Only the user who created a piece of data can see and interact with the UI for editing or deleting that data.
- All images have
alt text.
- No text is placed on top of an image in a way that makes the text inaccessible.
- All buttons are styled.
Git and GitHub
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them. Your group’s interactions with Git and GitHub must fulfill the below requirements.
- You and your team members are shown as the only contributors to the project on GitHub.
- The GitHub repository used for the project must be named appropriately. For example, names like book-binder or wellness-tracker are appropriate, whereas ga-project or django-project are not. The repo must be publicly accessible. Be sure to create the repo on your personal GitHub account and ensure it is public.
- Your repo should have commits that date back to the very beginning of the project. If your group starts over with a new repo, do not delete the old one.
README requirements
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your group’s README must contain the items or sections below.
- Screenshot/Logo: A screenshot of your app or a logo.
- Your app’s name: Include a description of your app and its functionality. Background info about the app and why your group built it is a nice touch.
- Getting started: Include a link to your deployed app and a link to your planning materials.
- Attributions: This section should include links to any external resources (such as libraries or assets) your group used to develop your application that require attribution. You can exclude this section if it does not apply to your application.
- Technologies used: List the principal technologies used by your application, for example: Python and any major frameworks or libraries.
- Next steps: Planned future enhancements (stretch goals).
Presentation requirements
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them.
- Your group presents your project in front of the class on the scheduled presentation day.
- The project your group presents is the project you were approved by your instructor to build.
Group evaluation
Upon completion of your group’s presentation, your instructional team will evaluate your group’s project.
- Your instructors will use the above guidelines to determine whether or not the project passes all of the minimum requirements.
- If your instructors determine that the project does not meet the minimum requirements, you or your group may be provided the opportunity to address the deficiencies identified and re-submit the project. However, be aware that there is only a single opportunity to re-submit a project during the course. Please reach out to your student success specialist if you have questions.
- Immediately after your group’s presentation, your instructors may provide your group with feedback that will benefit your project and perhaps other student’s projects. The feedback given at this time is not formal feedback and does not indicate whether you or your group passed or failed the project.
- If there is a specific section of code that you or your group would like an instructor to provide additional feedback on, please ask!
Individual contributor evaluation
In addition to the group evaluation, you will also be graded individually on this project. It is possible for your group as a whole to pass the project but for you not to pass individually - do not let this happen!
See the individual contributor project requirements for more details about the individual requirements.