Git Product home page Git Product logo

group_00's Introduction

Group_00

Members

Name Github Email
Marcel Jar marceljar [email protected]
Tony Stark tonystark [email protected]
Bruce Banner brucebanner [email protected]

Project Description

In this project, a website tailored for faculty members teaching CAPSTONE project courses is developed. This website will feature a number of tools to aid faculty during the process of teaching these courses. The two most important tools are a timeslot picking tool, and a group messaging tool, which are discussed in what follows:

Timeslot Picking Tool

This tool will allow faculty members to create a number of timeslots available for groups of students to pick their preferred meeting times. After the timeslots are created, students are able to log in and click on available timeslots. The tool should also message all group members with details about the chosen timeslots. Note that the tool does not have an option to allow students to change their option. This is done by design to ensure that students will discuss with their groups as soon as possible (as opposed to a student simply trying to keep a placeholder and discussing later).

Group Messaging Tool

This tool will allow the faculty to quickly visualize all groups and its members. Moreover, this toll should allow facutly to quickly craft an email message to specific groups.

Note that both these tools require the website to have an authentication system in which users can take two different roles (faculty or student), each role with specific capabilities. Due to the fact that users are only allowed into the system as per faculty's invitation, no authentication APIs, such as Facebook, or Google, are implemented.

group_00's People

Contributors

marceljar avatar

Stargazers

Ivan Huang avatar

Watchers

 avatar

group_00's Issues

As a user I want to authenticate in order to access the system

Description

An authentication system will be implemented using Django's authentication support tools provided in django.contrib.auth. This will be a full-stack implementation. A form will be provided for the user to enter his/her information on the browser. After an HTTPS request is made to the back-end, the user will either be granted access (and a session is created), or receive a message warning that the credentials were incorrect.

Acceptance Criteria

  • Users should be able to log in to the system using proper credentials created using strong password rules
  • Wrong credentials should result in an error message
  • Upon login, users should be redirected to a proper page
  • A successful login should maintain session across different pages

Testing Criteria

For testing purposes, a few users will be added to the database. Then, logins attempts will be made with:

  • correct credentials
  • right user name and wrong password
  • wrong username

Also, you should make sure that users cannot access credentials-protected pages by simply entering the proper URLs (without a previous login)

Create user registration page

User Story
As a user I want to register for an account.

Description
A user registration component will be created that displays a registration form for the user to enter their info for account creation. Upon submission, it will make a call to our webAPI and create a new user account that will be stored in our MongoDB database. The front end form will check that appropriate fields are filled out before allowing for submission. It will then check if the username is already taken by another account on the database. If it's not taken, a new user account is created, added to the database, a message is shown to the user stating account creation is successful, and they will be redirected to a login page. If the username is already taken, they are given an error message and redirected back to the user registration page.

Acceptance Criteria

  • New users should be able to register for a new account
  • Creating an account with a pre-existing username results in an error message
  • User is redirected to login page upon successful account creation

Testing
For testing purposes, we will attempt to add 2 new users to the database:

  • Try to submit the registration form with empty fields, should get an error message
  • Register a user properly and show new user added into MongoDB
  • Try to create another account with the same username, we should now get an error message

User should be able to access home page

User Story
As a user should be able to navigate to home page

Description
Project should be in a state where a user can navigate to home page and home page main layout should be completed (functionality to be added in future tickets)

Acceptance Criteria

  • User should be able to navigate to home page
  • layout/ features should be clickable (function to be added in future ticket)

Testing

  • Able to load home page
  • Clickable elements are clickable (functions not added yet)

Set up authentication for the website

As a faculty, I would like to be able to authenticate into the system so that I will be able to add students to the database.
This will require a number of tasks to be performed:

  • Create database models for different types of users (possibly modify Django's user models)
  • Use Django authentication tools at the back-end
  • Create forms and JavaScript calls to perform AJAX authentication requests without requiring unnecessary page reloads.

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.