Git Product home page Git Product logo

tewma-project's Introduction


📈 My GitHub Stats

1

Anurag's github stats

tewma-project's People

Contributors

bouncyyahomie avatar chayapol-c avatar nuttapol-kor avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

nuttapol-kor

tewma-project's Issues

Add Unit test for user views

Add some test for register

  • Test when authenticated user tries to access a register page (response code and messages).

Create meeting form test

  • Test when an unauthenticated user tries to access a create meeting page (response code).
  • Test when an authenticated user tries to access a create meeting page (response code).
  • Test when the user forgets to input on each field (response code).
  • Test when the user input on each field completely in the form (response code and messages).

Login and Logout System

  • create login and logout page
  • when not logged in show the registration and login button on the navigation bar
  • when logged in show the profile and logout button instead
  • create a profile page

Create tests for User-Registration, Login-Logout

Registration Test

  • Can users view the registration page?
  • Testing when user enter the invalid input on each field.
  • Testing when the user registers with a weak password.
  • Testing when users register with an existing username.

Login Test

  • Can users view the login page?
  • Testing when users not input the username or password.
  • Testing when the user inputs the wrong password.
  • Testing when the user tries to login with a not existing account.

Logout test

  • Can the authenticated user view the logout page?
  • Can the not authenticated user view the logout page?
  • Testing when logout, the user must not authenticated.

View Test

  • Testing the message when the user is registered successful or not successful.
  • Testing when the user tries to access the profile.

date_meeting() in Meeting model

def date_meeting(self):
return self.start_time.strftime('%d %B %Y')

I found the bug while I work on #56. On the meeting detail page, it showed the date does not match in Asia/Bangkok timezone
So I fixed that bug by using date format instead in the user-creation branch

<td>{{ meet.start_time|date:"D d M Y" }}</td>

Do we still have to keep date_meeting()?

Create a view to see other profiles.

  • On a participants page. The user can see a profile picture and user name of each user that join in that meeting.
  • Picture and username both of them have a link to a specific profile.

Profile model (Add a picture)

  • Add profile class in users/models.py
  • Create one to one relationship with the existing user model by using OneToOneField
  • Create an image field in the profile
  • Serve user-uploaded media files from MEDIA_ROOT for more detail
  • Update profile.html to show the image

Create more tests for views.

Create tests for appointment/views.py

IndexViewTest

  • If the user is not authenticated, show Welcome, AnonymousUser
  • If the argument in get_date() is not date object (str) return a date object with a specific date

MeetingListTest

  • If no meeting should see noting
  • If has end meeting but access in wrong URL should see noting.
  • If has future meeting but access in the wrong URL should see nothing.
  • If access to the correct URL and has a meeting on that day should see the detail.

MeetingDetailView

  • Even after the meeting's closing days, the user still sees that meeting.
  • Users can see future meetings.

Add Unit test for participation

JoinningTest

  • Test when the user joining for the first time.
  • Test when the user already join in the meeting.

LeavingTest

  • Test when test user press the leaving button but not join before.

JoinAndLeaveTest

  • If you join and leave and then join again. It has to show the success message.
  • If you join and leave and then leave again. It has to show the error message.

MeetingParticipantTest

  • If has one joining user in a specific meeting. it should show that the user in that meeting

Resolved the docstring

def get_date(req_day):
"""Return specific date object if parameter is a date object, return today otherwise."""
if req_day:
year, month = (int(x) for x in req_day.split('-'))
return date(year, month, day=1)
return datetime.today()

the docstring of this method should be resolved because req_day is True when req_day is not the date object

Styling

Improve and style on every page.

User can update their profile

  • user can update their profile
  • if the user upload the large picture, resize it
  • if the user changes the picture, delete the old picture with django_cleanup

Create tests for user profile

  • When the user has been created. The user must have a profile
  • Default image must be anonymous.png
  • Unauthenticated user can't see the profile page
  • Authenticated user can see their profile page

User Registration

  • start the user app
  • work with user model for registration
  • redirect to the home page (waiting for that) and show the message when sign up has successful
  • create base.html in users app (maybe not use)
  • use django-crispy-forms to overhaul the style in the registration page.

Improve search function

  • Add highlight keyword in the result page
  • Show how many results in the result page
  • optional: suggestion in search bar

Add navigation bar

  • Use bootstrap to create navigation bar in base.html
  • Add href in navbar-brand to home page
  • Add Registration button in the navigation bar for link to the registration page

Improve Login and Logout

  • Overriding LoginView and add SuccessMessageMixin to show a message when login is successful.
  • Change URL to the new Overriding LoginView
  • Add some function to disappear and transition the message when press the x button.

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.