This is to certify that the project report on Development and Publishing of a Date Picker Calendar Package for Yllehsites Powered by Django was carried out by Md. Abdul Monim, lD student: CSE student of Department of Computer Science and Engineering, Sonargaon University (SU) as a partial fulfillment of CSE-400 ProjectUThesis requirement. The report was prepared under my direction and is a record of good faith work successfully carried out.
To the best of my knowledge and according to his statement, no part of this report has been submitted anywhere for any degree, diploma or certificate. Abdul Monim, Student, Department of Computer Science and Engineering, Sonargaon University (SU) who stated that this project paper on the given topic was prepared only for the fulfillment of CSE400 Project/Thesis, in partial fulfillment of 'Bachelor of Computer Science' and Engineering ". Monzurul Amin lfath, Lecturer, Department of Computer Science and Engineering, Sonargaon University, who gives me the opportunity to complete my report and project.
Furthermore, I would like to thank him again for giving me the opportunity to submit this report. I would also like to thank our Mce Chancellor Professor M.A Razzaque who gave us the opportunity to study in such a decent environment.
Introduction of Project -
System Study &Analysis
SystemAnalysis
Most of the django widgets available in the open source market are outdated, very few of them support django version 2.0 and above. Providing date picker and date+time picker widgets, including some additional features that encapsulate most of the requirements that a developer could ever eliminate while keeping the package scalable for development. Providing data-rang+picker functionality out of the box and thus eliminating the need for any additional packages or writing patch codes to package sources.
None of the existing packages support the latest versions of Django, most of them are limited to a specific older version of Django. The r/django community appreciates the development of a project that can help thousands of django developers around the world. _calculate_options is an internal method that calculates user-supplied date picker options and overrides the default options.
So we will import the DatePickerlnput classes into the _init .py file to make it accessible outside the package. The README should contain the following information to reflect the important aspects of the package.
Methodology of the project
Advantages ofAgile model
Listed below are a few disadvantages ofAgile
Existing System
Use existing obsolete django-packages
Include the package in the Django package index to make it more available to developers specific to Django development. The package should be hosted on PyPl so it can be easily installed with a simple pip command. The package should provide reasonable flexibility and flexible options to change according to the needs of the project.
The package will be uploaded to PyPl to make it publicly available, which can be installed via pip with a simple command. But this package includes fallbacks for django versions older than 1'11'. The following templates are included in the package, which can be expanded as needed. The package is written in Python 3 and supports every latest version of django including older django versions back to 1.8.
The package can be used with any server capable of running a smooth running djange powered site. Give the package a unique name that is self-explanatory and search-friendly 3- Upload and maintain different versions of the package with proper dependencies.
- lPrablems with Existing django.widgets
- Advantages over Primitive System
- Advantages over Existing Packages
- Drawbacks of the Proposed System
- Why develop this django-package
- Absence of the right product
- l.1What is a complete package
- Developer's demand
- Community appreciation
- Proposed System Design
Implementation of Model
- URL dispatcher
- Form
- Form Fields
- Widgets
- Request-Response flow of django date-time fields with django-bootstrap-datepicker-p1us
- DateTimePickerlnput c1ass
- ZTimePickerlnput c1ass
- MonthPickerlnput c1ass
- YearPickerlnput c1ass
- Components of wid9et............. ...........2g
- System Requirements
- Software Requirements
- Hardware Requirements
The widget handles rendering .. of the HTML and extracting data from a GET/POST dictionary corresponding to the widget. The Media class of DatePickerlnput contains the list of atl JavaScript and CSS resources needed to include in the HTML output. The start:of method takes the event ID of an event to create the link-up between two DatePickerlnputs and sets the DatePickerlnput as the start date of the event.
The end-of method takes the event_id of an event to create association between two DatePickerlnputs and sets the DatePickerlnput as the end date of the event. The package is published online on both Github and PyFl package index and thus available for django developers to implement in their django power# sites. There are some bugs present in the date'picker library used to render the Ul.
System Implementation
The DatePickerDictionary
The options property holds the options that are passed directly to the JavaScript datepicker instance.
The DatePickerBaselnput c1ass
Including the resources
Date format conversion between JavaScript and $rthon
Methods to link two date-picker
Extending the base class to DatePickerlnputs
- Define properties of the sub-classes
- Exporting the DatePickerlnput C1asses................. ..............3g
- Objectives
The Python Package lndex (PyPl) is a softvyare repository for the Python programming language. PyPl helps find and install software developed and shared by the Python community. Django Packages is a directory of reusable apps, sites, tools and more for your Django projects. This directory contains a huge collection of reusable django resources that passionate developers can find and implement in their own projects.
Note that many of these tools are also used for integration testing by writing the test cases to execute multiple parts of the code at the same time. Travis Cl is a hosted, distributed continuous integration service used for building and testing software projects hosted on GitHub. Similar code blocks - Duplicate code that is not identical but shares the same structure (for example, variable names may differ).
The project received 39 stars and this number continues to grow as more and more developers discover this package. Mostly, forks are used to either propose changes to someone else's project or to use someone else's project as a starting point for your own idea. The visitor count keeps increasing as days pass proving that the project is reaching more and more developers making this project a success.
There are 12 stack overflow questions about this project, all asked by django developers who had trouble deploying this package to their django-powered site. These questions provided a lot of information to help make the project more user-friendly and easier to implement. This activity on stack overflow shows that this package is gaining traction, more and more developers are interested in using it in their own project.
This answer was posted encouraging the use of this package on the django page by describing its installation configuration and usage, which has received 5 votes from community members. This shows that developers are really appreciating this package as a useful tool for their django sites. Development of a Ul like watch for my dialer+ that looks neater and provides easier time selection.
Publishing to PyPI
- Objectives
Publishing to Django Packages
- Objectives
No matter how good the product is, we always judge a book by its cover. Hypothesis is a unit test generation tool that helps developers create tests that run edge cases in blocks of code. A program with high test coverage, measured as a percentage, had more source code executed during testing, indicating that it is less likely to contain undetected software bugs compared to a program.
The usefulness and quality of a project is reflected by these stars provided by the developers who are using it.
Fublish Demo Pages
- Demo with Bootstrap 3
- Demo with Bootstrap 4
Publishpackage documentation (README).............. ...........M
- Demo, Getting Started
- Usage
- Customising the Options
- Licence and Acknowledgements
Maintainability is an assessment of technical debt in a repo based on a standardized 10-point assessment of duplication, cyclomatic complexity, cognitive complexity, and structural problems.
Testing & Quality Management
Unit-Testing with Travis.Cl
- Travis-Cl build flow
- Travis-Cl Result
- Travis-Cl build history
Code-Coverage
- Coveralls.io stats
Maintainability
- Code-Climate Report
These are the developers who are currently monitoring this repository for immediate notification of any updates posted to this repository. Publishing a well-respected project to the largest online Github community and maintaining a significant approval history.
Project Success
Watchers
- Clone Graph
Activity on Stack-Overflow
- Questions on Stack-Overf1ow
- Answers on Stack-Overflow
Conclusion
Future Wbrk
Conclusion