Git Product home page Git Product logo

classrooms's Introduction

Have you ever wondered how we manage a class full of noobs? Well, all your questions will be answered today!

Classrooms is a noob management project that allows you to manage all of your noobs!

Start by creating a virtual environment. Fork and Clone the project from here.

You’ll get a Django project with an app that has the following created for you:

a Model called Classroom CRUD for the model Start by creating a separate file for the navbar, then include it in the base file using an include tag.

Create a signup, signin and signout views using Django User Model. The url names for these views have to be signup, signin, and signout respectively. Make sure to add buttons to these views in the Navbar.

When no one is logged in, the signin and signup buttons will be shown on the Navbar. Then, when the user logs in, his/her name and the signout button will appear on the Navbar.

Next, add a new field to the Classroom model called teacher, which is a Foreign Key to the User model. This field must automatically save the logged in user to the classroom when he/she creates a new one.

Keep in mind that only a signed in user is allowed to create a new classroom. If you try to create a new classroom without signing, in it will redirect you to the signin page.

After that, create a new model called Student that has the following fields:

name date_of_birth gender: a CharField with choices exam_grade classroom: Foreignkey to the Classroom model In the Classroom Detail page, create an Add Student button. Whenever a new student is added, the classroom should be assigned automatically to the student object.

Then, create a table under the Classroom’s details. Inside the table, the students with all their details must be listed in an Alphabetical Order by name then by the exam grade.

Add Update and Delete buttons for every student, and remember that only the classroom’s teacher is allowed to Create, Update and Delete a Student from this classroom. Keep in mind that the Create, Update and Delete buttons will only be visible to the classroom’s teacher. Also, make sure that the url names for these actions are as follows student-create, student-update, student-delete.

Note: At any point during this mini project if the classroom or student id is being sent through the url as a parameter call it classroom_id and student_id respectively.

classrooms's People

Contributors

lailz avatar lailalelouch avatar shahzadkashif avatar samyabdelaal avatar nou-g avatar

Watchers

James Cloos avatar

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.