Author: 1u2tqe51uojr

  • signature


    logo

    A passwordless (biometric based) web authentication system.

    Signature for Developer Signature Client Demo Signature App Landing Page

    Signatures' License Signatures' Workflow Status (with branch) Signatures' Code Size Top Language used in Signature


    Onboarding SignUp LockScreen
    AuthConfirmation Homepage Settings

    Getting Started

    1. Clone the GitHub repository:

      git clone https://github.com/aratheunseen/signature-passwordless-web-authenticaton.git
    2. Navigate to the project directory:

      cd signature-passwordless-web-authenticaton
      
    3. Get the required dependencies by running the following command:

      flutter pub get
      
    4. Next, you need to create a new Firebase project and configure it for this application. You can follow the instructions in this article: https://firebase.google.com/docs/flutter/setup.

    5. Once your Firebase project is set up, you’ll need to add your Firebase configuration files to the project. Specifically, you’ll need to add your google-services.json file for Android. You can download these files from the Firebase console.

    6. After adding the Firebase configuration files, you need to enable Firebase Authentication in your Firebase project. You can do this by going to the Authentication section in the Firebase console and following the instructions to enable authentication. Once Firebase Authentication is enabled, you’ll need to set up the Firebase Authentication providers in your Flutter app. Specifically, you’ll need to configure the phone authentication provider. You can follow the instructions in this article: https://firebase.google.com/docs/auth/flutter/start.

    7. Connect your Android or iOS device to your computer, or launch an emulator.

    8. Run the app by executing the following command:

      flutter run
      

      This will launch the app on your device or emulator.

    9. If you want to build an APK file, run the following command:

      flutter build apk --release
      

    Note: Before running the app, make sure you have a suitable development environment set up for Flutter. You can refer to the official documentation for more information on setting up your development environment: https://flutter.dev/docs/get-started/install.

    Requirements

    1. Flutter SDK installed on your computer
    2. Android Studio or VS Code with Flutter extensions installed
    3. An emulator or physical device to run the app on
    4. Git installed on your computer to clone the repository
    Visit original content creator repository https://github.com/aratheunseen/signature
  • signature


    logo

    A passwordless (biometric based) web authentication system.

    Signature for Developer Signature Client Demo Signature App Landing Page

    Signatures' License Signatures' Workflow Status (with branch) Signatures' Code Size Top Language used in Signature


    Onboarding SignUp LockScreen
    AuthConfirmation Homepage Settings

    Getting Started

    1. Clone the GitHub repository:

      git clone https://github.com/aratheunseen/signature-passwordless-web-authenticaton.git
    2. Navigate to the project directory:

      cd signature-passwordless-web-authenticaton
      
    3. Get the required dependencies by running the following command:

      flutter pub get
      
    4. Next, you need to create a new Firebase project and configure it for this application. You can follow the instructions in this article: https://firebase.google.com/docs/flutter/setup.

    5. Once your Firebase project is set up, you’ll need to add your Firebase configuration files to the project. Specifically, you’ll need to add your google-services.json file for Android. You can download these files from the Firebase console.

    6. After adding the Firebase configuration files, you need to enable Firebase Authentication in your Firebase project. You can do this by going to the Authentication section in the Firebase console and following the instructions to enable authentication. Once Firebase Authentication is enabled, you’ll need to set up the Firebase Authentication providers in your Flutter app. Specifically, you’ll need to configure the phone authentication provider. You can follow the instructions in this article: https://firebase.google.com/docs/auth/flutter/start.

    7. Connect your Android or iOS device to your computer, or launch an emulator.

    8. Run the app by executing the following command:

      flutter run
      

      This will launch the app on your device or emulator.

    9. If you want to build an APK file, run the following command:

      flutter build apk --release
      

    Note: Before running the app, make sure you have a suitable development environment set up for Flutter. You can refer to the official documentation for more information on setting up your development environment: https://flutter.dev/docs/get-started/install.

    Requirements

    1. Flutter SDK installed on your computer
    2. Android Studio or VS Code with Flutter extensions installed
    3. An emulator or physical device to run the app on
    4. Git installed on your computer to clone the repository
    Visit original content creator repository https://github.com/aratheunseen/signature
  • Deformable-ConvNets-caffe

    Caffe implementation of Deformable Convolutional Networks

    results:

    faster rcnn(resnet50) result is implemented without OHEM and deformable roi pooling

    train with pascal voc 2007 + 2012 test on 2007

    mAP@0.5 aeroplane bicycle bird boat bottle bus car cat chair cow
    0.7811 0.7810 0.8560 0.7828 0.6910 0.5948 0.8430 0.8741 0.8878 0.6213 0.8347
    diningtable dog horse motorbike person pottedplant sheep sofa train tv
    0.7324 0.8695 0.8893 0.8507 0.7986 0.5226 0.7791 0.7933 0.8528 0.7668

    Usage

    Use modified caffe

    The MNIST example is in caffe/defor/

    Compile:

    mkdir build cd build cmake ..  make  all

    Train & test:

    cd caffe/defor/
    ./train_lenet.sh
    

    and the model is in caffe/defor/model_protxt/

    use faster rcnn

    download voc07,12 dataset ResNet50.caffemodel and rename to ResNet50.v2.caffemodel

    cp ResNet50.v2.caffemodel data/pretrained_model/
    • OneDrive download: link

    Train &test:

    ./experiments/scripts/faster_rcnn_end2end.sh  0 ResNet50  pascal_voc
    ./test.sh  0 ResNet50  pascal_voc

    Use the codes in your caffe

    All codes are in deformable_conv_cxx/

    1. Add layer definition to caffe.proto:

    optional DeformableConvolutionParameter deformable_convolution_param = 999;
      
    message DeformableConvolutionParameter {
      optional uint32 num_output = 1; 
      optional bool bias_term = 2 [default = true]; 
      repeated uint32 pad = 3; // The padding size; defaults to 0
      repeated uint32 kernel_size = 4; // The kernel size
      repeated uint32 stride = 6; // The stride; defaults to 1
      repeated uint32 dilation = 18; // The dilation; defaults to 1
      optional uint32 pad_h = 9 [default = 0]; // The padding height (2D only)
      optional uint32 pad_w = 10 [default = 0]; // The padding width (2D only)
      optional uint32 kernel_h = 11; // The kernel height (2D only)
      optional uint32 kernel_w = 12; // The kernel width (2D only)
      optional uint32 stride_h = 13; // The stride height (2D only)
      optional uint32 stride_w = 14; // The stride width (2D only)
      optional uint32 group = 5 [default = 4]; 
      optional uint32 deformable_group = 25 [default = 4]; 
      optional FillerParameter weight_filler = 7; // The filler for the weight
      optional FillerParameter bias_filler = 8; // The filler for the bias
      enum Engine {
        DEFAULT = 0;
        CAFFE = 1;
        CUDNN = 2;
      }
      optional Engine engine = 15 [default = DEFAULT];
      optional int32 axis = 16 [default = 1];
      optional bool force_nd_im2col = 17 [default = false];
    }

    you can read the template in deformable_conv_cxx/caffe.proto

    2.Move codes to your caffe

    move deformable_conv_layer.cpp and deformable_conv_layer.cu to yourcaffepath/src\caffe\layers\
    
    move deformable_conv_layer.hpp to yourcaffepath/include\caffe\layers\
    
    move deformable_conv_layer.hpp to yourcaffepath/include\caffe\layers\
    
    move deformable_im2col.cu to yourcaffepath\src\caffe\util\
    
    move deformable_im2col.hpp to yourcaffepath\include\caffe\util\

    3.Compile in your caffe root path

    mkdir build cd build  cmake ..   make  all

    About the deformable conv layer

    The params in DeformableConvolution:

    bottom[0](data): (batch_size, channel, height, width)
    bottom[1] (offset): (batch_size, deformable_group * kernel[0] * kernel[1]*2, height, width)
    

    Define:

    f(x,k,p,s,d) = floor((x+2*p-d*(k-1)-1)/s)+1
    

    the output of the DeformableConvolution layer:

    out_height=f(height, kernel[0], pad[0], stride[0], dilate[0])
    out_width=f(width, kernel[1], pad[1], stride[1], dilate[1])
    

    Offset layer:

    layer {
      name: "offset"
      type: "Convolution"
      bottom: "pool1"
      top: "offset"
      param {
        lr_mult: 1
      }
      param {
        lr_mult: 2
      }
      convolution_param {
        num_output: 72
        kernel_size: 3
        stride: 1
        dilation: 2
        pad: 2
        weight_filler {
          type: "xavier"
        }
        bias_filler {
          type: "constant"
        }
      }
    }

    DeformableConvolution layer:

    layer {
      name: "dec"
      type: "DeformableConvolution"
      bottom: "conv1"
      bottom: "offset"
      top: "dec"
      param {
        lr_mult: 1
      }
      param {
        lr_mult: 2
      }
      deformable_convolution_param {
        num_output: 512
        kernel_size: 3
        stride: 1
        pad: 2
        engine: 1
        dilation: 2
        deformable_group: 4
        weight_filler {
          type: "xavier"
        }
        bias_filler {
          type: "constant"
        }
      }
    }

    the prototxt model should like:

    The following animation is generated by Felix Lau (with his tensorflow implementation):https://github.com/felixlaumon/deform-conv/

    TODO List

    • all tests passed
    • evaluate performance on Regular MNIST
    • evaluate object detection performance on voc

    Deformable Convolutional Networks

    Dai, Jifeng, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei. 2017. “Deformable Convolutional Networks.” arXiv [cs.CV]. arXiv. http://arxiv.org/abs/1703.06211

    Visit original content creator repository https://github.com/unsky/Deformable-ConvNets-caffe
  • fastq2EZbakR

    fastq2EZbakR

    fastq2EZbakR is a Snakemake pipeline designed to process nucleotide recoding RNA-seq data (NR-seq, e.g., TimeLapse-seq, SLAM-seq, TUC-seq, etc.). fastq2EZbakR provides output readily compatible with EZbakR, but is also designed to provide processed NR-seq data in a convenient form that you can work with as you see fit. fastq2EZbakR is the successor to bam2bakR, and in the near future, bam2bakR will be fully converted to a fastq2EZbakR wrapper. See our paper for a discussion of the motivation behind fastq2EZbakR and its companion R package EZbakR.

    Documentation can be found here: https://fastq2ezbakr.readthedocs.io/en/latest/

    Input

    1. FASTQ or BAM files
      • If the latter, make sure the not-always-standard MD tag is included.
    2. A genome sequence file (FASTA)
      • Used for alignment if FASTQ files are provided and SNP calling (if -label controls are provided) and sequencing track creation in all cases.
    3. An annotation file (GTF format)
      • Used for alignment index building if FASTQ files are provided and feature assignment in all cases.

    Output

    The main output is a counts Binomial file (a.k.a. a cB file; not a standard file type, it’s just what we call the csv file created by fastq2EZbakR). The cB file is a convenient, compressed, and tidy representation of one’s NR-seq data. It contains information about:

    • The mutation content of aligned reads (e.g., number of T-to-C mutations in a standard NR-seq experiment).
    • The mutable nucleotide content of aligned reads (e.g., number of reference T’s with which a read overlapped in a standard NR-seq experiment).
    • The genomic features to which aligned reads were assigned. See here for details about fastq2EZbakR’s uniquely flexible feature assignment strategies.

    All other output produced by fastq2EZbakR is documented here.

    Update (3/15/2025): Analyses of transcript isoforms

    We recently (3/14/2025) put out a preprint describing a method by which to analyze the kinetics of individual transcript isoforms using short read NR-seq data from total RNA. While this strategy is touched on a little bit in one of the EZbakR vignettes (this one), I have also developed a full fastq-to-volcano plot walkthrough using real downsampled fastq files from that preprint so you can see how every step of the fastq2EZbakR and EZbakR pipeline needs to be configured/run for these analyses. The tutorial is here, and the data used in that tutorial is here. Over the next couple weeks I will be adding some extra details/analyses to this tutorial, but in its current form (as of 3/15/2025), all of the basics of performing isoform-level analyses are covered there. It also acts as a hand-on tutorial for all of the EZbakR-suite and can thus useful to checkout and try out even if you aren’t interested in this particular analysis strategy.

    Why use fastq2EZbakR?

    fastq2EZbakR provides a number of unique functionalites not found in other established NR-seq data processing tools. These include:

    1. Flexible assignment of reads to genomic features.
    2. Quantification of any mutation type you are interested in. T-to-C mutation counting is the most common NR-seq application, but any combination of mutation types are fair game.
    3. A tidy, easy to work with representation of your mutational data in the form of the aforementioned cB file.
    4. Optional site-specific mutation counting (as was used here for example). Has allowed fastq2EZbakR to support processing of non-NR-seq mutational probing RNA-seq datasets.
    5. Optional automatic downloading and processing of published data available on the Sequence Read Archive (SRA).

    How do you run fastq2EZbakR?

    All of the steps necessary to deploy fastq2EZbakR are discussed in great detail in the official documentation. Here, I will present a super succinct description of what needs to be done, with all necessary code included:

    ### 
    # PREREQUISITES: INSTALL MAMBA or CONDA AND GIT (only need to do once per system)
    ###
    
    # CREATE ENVIRONMENT (only need to do once per system)
    mamba create -c conda-forge -c bioconda --name deploy_snakemake snakemake snakedeploy
    
    # CREATE AND NAVIGATE TO WORKING DIRECTORY (only need to do once per dataset)
    mkdir path/to/working/directory
    cd path/to/working/directory
    
    # DEPLOY PIPELINE TO YOUR WORKING DIRECTORY (only need to do once per dataset)
    conda activate deploy_snakemake
    snakedeploy deploy-workflow https://github.com/isaacvock/fastq2EZbakR.git . --branch main
    
    ###
    # EDIT CONFIG FILE (need to do once for each new dataset)
    ###
    
    # RUN PIPELINE
    
    # See [here](https://snakemake.readthedocs.io/en/stable/executing/cli.html) for details on all of the configurable parameters
    snakemake --cores all --use-conda --rerun-triggers mtime --keep-going

    Alternative pipeline deployment strategy (to deal with 429 errors)

    A recent change to GitHub has led to intermittent fastq2EZbakR crashing errors, when running fastq2EZbakR as detailed above. The errors will look something like:

    Failed to open source file https://raw.githubusercontent.com/isaacvock/fastq2EZbakR/develop/workflow/scripts/bam2bakR/mut_call.sh
    HTTPError: 429 Client Error: Too Many Requests for url: https://raw.githubusercontent.com/isaacvock/fastq2EZbakR/develop/workflow/scripts/bam2bakR/mut_call.sh
    

    While simply rerunning the pipeline can often resolve these errors, a more consistent workaround is to clone the repo locally rather than use Snakedeploy. In this case, the deployment workflow looks like:

    ### 
    # PREREQUISITES: INSTALL MAMBA or CONDA AND GIT (only need to do once per system)
    ###
    
    # CREATE ENVIRONMENT (only need to do once per system)
    mamba create -c conda-forge -c bioconda --name snakemake snakemake
    
    # (NEW STEP) CLONE REPO LOCALLY (only need to do once per system
    git clone https://github.com/isaacvock/fastq2EZbakR.git
    
    # CREATE AND NAVIGATE TO WORKING DIRECTORY (only need to do once per dataset)
    mkdir path/to/working/directory
    cd path/to/working/directory
    
    # (MODIFIED STEP) "DEPLOY" PIPELINE TO YOUR WORKING DIRECTORY (only need to do once per dataset)
    cp -r path/to/fastq2EZbakR/workflow/ ./
    rp -r path/to/fastq2EZbakR/config/ ./
    
    ###
    # EDIT CONFIG FILE (need to do once for each new dataset)
    ###
    
    # RUN PIPELINE
    
    # See [here](https://snakemake.readthedocs.io/en/stable/executing/cli.html) for details on all of the configurable parameters
    snakemake --cores all --use-conda --rerun-triggers mtime --keep-going

    The difference is that now instead of using Snakedeploy (which you no longer even need to install), you clone the repo locally and copy over the workflow and config directories to wherever you want to run the pipeline. The downside of this approach is that if I make changes to the pipeline that you want to adopt, you will have to manually “update” the pipeline by going to the fastq2EZbakR directory and running git pull, and then retransferring the workflow directory (and potentially the config directory too if the pipeline change involves new config parameters you would like to adjust).

    Visit original content creator repository
    https://github.com/isaacvock/fastq2EZbakR

  • Nike.com

    Clone of Nike.com: A Mern E-Commerce Application. Completed this project individually, Allowing users to shop for clothing & shoes for Men, Women & kids. Responsive for Smartphones and big screens. Users can start shopping after Signing in or logging in with the Application. All types of Products may be found Including clothing & shoes for men, women, and kids. It also allows users to sell products, in the sell category they can post their products and users will be able to shop now in the same category.


    Tech Stacks :

    • React.Js ,
    • Redux ,
    • Thunk ,
    • Material-UI ,
    • Styled-Components ,
    • JavaScript ,
    • HTML ,
    • CSS .

    Tools :

    • Create-React-App @3.1.1 ,
    • React-Redux @8.0.5 ,
    • Redux-thunk @2.4.2 ,
    • Node @12.13.0 ,
    • NPM @8.19.1 ,
    • Git @2.35.1.windows.2 ,
    • Material-UI @4 ,
    • VsCode ,
    • Glitch Server .

    Contributor :

    • Rahim Ansari(Individual) .

    Features :

    • Social SignUp With Glitch Server ,
    • Social Login With Glitch Server ,
    • Men’s Clothing Products ,
    • Men’s Shoes Products ,
    • Women’s Clothing Products ,
    • Women’s Shoes Products ,
    • Kids’s Shoes Products ,
    • Search For Products ,
    • Full Details About a Product on Single -Product-Page ,
    • Loading and Error Shower ,
    • Add to cart ,
    • Won’t be able to add the product into cart without signup ,
    • Rating Products ,
    • Add to Cart With Glitch Server ,
    • Receipt After Ordering ,
    • Footer .

    Some Screenshots from Website :

    Screenshot 2022-11-21 at 12 15 35

    Screenshot 2022-11-21 at 12 16 12

    Screenshot 2022-11-21 at 12 10 58

    Screenshot 2022-11-21 at 12 11 09

    Screenshot 2022-11-21 at 12 11 47

    Screenshot 2022-11-21 at 12 12 45

    Screenshot 2022-11-21 at 12 12 51

    Screenshot 2022-11-21 at 12 14 25 Screenshot 2022-11-21 at 12 14 34 Screenshot 2022-11-21 at 12 14 39 Screenshot 2022-11-21 at 12 14 57 Screenshot 2022-11-21 at 12 15 11 Screenshot 2022-11-21 at 12 15 19 Screenshot 2022-11-21 at 12 13 34 Screenshot 2022-11-21 at 12 13 53

    THANK YOU

    Visit original content creator repository https://github.com/Rahi999/Nike.com
  • interviews

    Interview Process at StaySorted

    StaySorted (aka Team Sorted) is the team behind hyper-scheduler Sorted³.
    We’re hiring a remote team to help bringing Sorted³ to the next level.

    Overview of our interview process:

    1. Notify us your interest of applying (30 minutes)
    1. Show us what you know (< 4 hours)
    1. Chat with us online (< 2 hours)
    • Share with us your hobbies, experiences
    • Demonstrate and show us your works in the challenge
      • For coders, we may ask you to work on a problem with your machine
      • Please close other windows and have Xcode and Swift Playgrounds ready
    1. Work on a problem with us (with a meal at our expense)
    • Schedule a day with our team
      • Depending on the time zones, we may split it into 2 sessions
    • We’ll work on a problem together as a team
      • Discuss feature requirements
      • Create quick simple prototype
    • Have a meal together remotely
    1. We’ll get back to you within 48 hours with either an offer or reasons why we may not be a good fit for you.

    Visit original content creator repository
    https://github.com/StaySortedHQ/interviews

  • simplegeo-ruby

    sg-ruby

    A SimpleGeo Ruby client.

    For the specific documentation on APIs (and the full list of parameters) see:

    help.simplegeo.com/faqs/api-documentation/endpoints

    Installation

    Open the Terminal or other UNIX shell and type:

    sudo gem install sg-ruby
    

    Examples

    Start by requiring SimpleGeo and setting your authentication credentials:

    require 'simple_geo'
    SimpleGeo::Client.set_credentials('token', 'secret')
    

    Getting a record

    record = SimpleGeo::Client.get_record('com.simplegeo.global.geonames', '5373629')
    

    Getting multiple records

    records = SimpleGeo::Client.get_records('com.simplegeo.global.geonames', ['1234', '5678'])
    

    Adding a record

    record = SimpleGeo::Record.new({
      :id => '1234',
      :created => Time.now,
      :lat => 37.759650000000001,
      :lon => -122.42608,
      :layer => 'com.example.testlayer',
      :properties => {
        :test_property => 'foobar'
      }
    })
    SimpleGeo::Client.add_record(record)
    

    Updating a record

    record = SimpleGeo::Client.get_record('com.example.testlayer', '1234')
    record.lat = 40.714269
    record.lon = -74.005973
    SimpleGeo::Client.add_record(record)
    

    Adding / updating multiple records

    records = [
      SimpleGeo::Record.new({
        :id => '1234',
        :created => Time.now,
        :lat => 37.759650000000001,
        :lon => -122.42608,
        :layer => 'com.example.testlayer',
        :properties => {
          :test_property => 'foobar'
        }
      }),
      SimpleGeo::Record.new({
        :id => '5678',
        :created => Time.now,
        :lat => 37.755470000000003,
        :lon => -122.420646,
        :layer => 'com.example.testlayer',
        :properties => {
          :mad_prop => 'baz'
        }
      })
    ]
    SimpleGeo::Client.add_records('com.example.testlayer', records)
    

    Deleting a record

    SimpleGeo::Client.delete_record('1234')
    

    Getting a record’s history

    history = SimpleGeo::Client.get_history('com.example.testlayer', '1234')
    

    Getting nearby records

    See help.simplegeo.com/faqs/api-documentation/endpoints for other optional params

    # by lat, lon
    records = SimpleGeo::Client.get_nearby_records('com.example.testlayer', 
      :lat => 37.759650000000001,
      :lon => -122.42608)
    
    # by geohash
    records = SimpleGeo::Client.get_nearby_records('com.example.testlayer', 
      :geohash => '9q8yy1ujcsfm')
    

    Getting a nearby address for a lat and lon

    nearby_address = SimpleGeo::Client.get_nearby_address(37.759650000000001, -122.42608)
    

    Getting SpotRank density information

    # by day
    density_info = SimpleGeo::Client.get_density(37.75965, -122.42608, 'sat')
    
    # by hour
    density_info = SimpleGeo::Client.get_density(37.75965, -122.42608, 'sat', '16' )
    

    Other APIs

    For more examples see: spec/client_spec.rb

    Note on Patches/Pull Requests

    • Fork the project.

    • Make your feature addition or bug fix.

    • Add tests for it. This is important so I don’t break it in a future version unintentionally.

    • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

    • Send me a pull request. Bonus points for topic branches.

    Copyright © 2010 Dan Dofter. See LICENSE for details.

    Visit original content creator repository
    https://github.com/RubyOnWorld/simplegeo-ruby

  • Elearn

    Elearn Icon What is Elearn ?

    Elearn is a learning management system that allows admin users to track and manage their own educatioanl systems effieciently and with ease.

    Our application provides an easy way to access your students and Staffs easily and with no effort.

    Elearn Splash Scren

    Our Application will provide the user with a handful of features:

    Features:

    • Reduce human errors (validations).
    • Can not use reserved lecture halls.
    • Can not add student/staff to course if the time of the course is already filled for them.
    • Easy access to data.
    • Show the people involved in course in the course page.
    • Show the courses that a student or a staff member is involved in , in their designated page.
    • Can edit any inserted data.
    • Can remove current students, staffs, courses.
    • Tables listing students, staffs and courses and many more!
    • Easy to use filters, to filter the data shown depending on department, grade, year, gender and age.

    User Interface experience:

    • Straight forward, easy to use User interface experience (easy to use for everyone)
    • Easy access to features
    • User Interface is dark mode and pleasing to see.

    Admin Tools:

    • Add halls and departments
    • Admin log (track admins activity)
    • Adding and removing admins
    • Importing and Exporting data from and to CSV(s)

    Visualizations & Statistics:

    • Pie and bar charts that demonstrates statistical data.
    • Statistics of course grades. (eg. Average grade and pass ratio)

    Elearn Screen

    Why choose us ?

    Our user interface provides an easy to use environment for any user. The interface explains itself making the use of a helping tool unnecessary. This is very rare in some applications making our application superior in some cases. Not only that but the user interface has very pleasant color combinations giving the whole application a premium look.
    Our application make sure to validate most of the data entered to it. This will result in happening of less errors when entering data by the admins. Which is the most prominent problem in most Learning Management Systems. However, Elearn handles that perfectly making it very reliable to use without being error-prone.
    Our Program uses QT framework to generate a seamless and responsive application by integrating our C++ code with the user interface. We have provided some documentation on our Class lists and heirarchy and documentation on their methods.
    Visit original content creator repository https://github.com/Bodykudo/Elearn
  • pyDictionary

    Interactive Dictionary in Python

    Create a dictionary in Python which can retrieve definitions for user, ask ‘did you mean this instead?’ if user made a typo while entering the word, and if the word has more than one definition then retrieve them all.

    1. Installing dependencies

    Installing dependencies is the first thing you want to do.

    import json
    import difflib
    

    2. Understanding files in the directory

    Data

    The data is in .json format. If you are not aware what JSON is and how it works I recommend referring to this article.

    dictionary.json
    

    Step by Step Solution

    I have created different files for each step in creating the interactive dictionary, here’s the description of what each file does.

    dictionary_1.py
    

    Load the data, and just check if data loaded correctly.

    dictionary_2.py
    

    Check for non-existing words.

    dictionary_3.py
    

    Removing the case-sensitivity from the program. For example ‘Rain’ and ‘rain’ will give same output.

    dictionary_4-1.py
    dictionary_4-2.py
    

    Learn how ‘difflib’ works in order to suggest a similar word.

    dictionary_5.py
    

    Use ‘difflib’ in our code to retrieve closest match

    dictionary_6.py
    

    If the suggested word is what user wants, retrive the meaning of suggested word.

    dictionary_7.py
    

    If the word has more than 1 definition, retrive all by iterating.

    Note: All files are integrated with comments to help you understand each and every line/command of the code.

    Run All Together

    Even though the dictionary_7.py is the complete file, I made a new copy of that file namely interactive_dictionary.py to serve as a final file.

    python3 interactive_dictionary.py
    

    Output :

    1. When meaning is present

    alt text

    1. When word is containing a typing error

    alt text

    1. Allowing to add usage of a word

    alt text

    License

    This project is licensed under the MIT License – see the LICENSE file for details

    Visit original content creator repository https://github.com/theprogrammedwords/pyDictionary
  • SSCalendarControl

    SSCalendarControl

    SSCalendarControl is small and highly customizable calendar control written in swift.

    Swift Version Build Status License Platform PRs Welcome

    Alt text

    Features!

    • Customizable control
    • Flexible date range
    • Customizable week day
    • Selection delegates
    • Customizable month and days cells
    • CocoaPods

    Requirements

    • iOS 10.0+
    • Xcode 9+

    Installation

    • You can use CocoaPods to install SSCalendarControl by adding it to your Podfile:

       use_frameworks!
       pod 'SSCalendarControl'
      
    •  import UIKit
       import SSCalendarControl
      

    Manually

    • Download and drop SSCalendarControl folder in your project.
    • Congratulations!

    Usage example

    • In the storyboard add a UIView and change its class to SSCalendarView Alt text

    Setup Calendar

    calendarView.setUpCalendar(startDate: startDate, endDate: endDate, weekStartDay: .monday, shouldSelectPastDays: true, sholudAllowMultipleSelection: false)
    

    Weekday Customization

    calendarView.configuration.weekDayBorderColor = UIColor.black
    calendarView.configuration.weekDayLabelBackgroundColor = UIColor.clear
    calendarView.configuration.weekDayLabelTextColor = UIColor.black
    

    Month Customization

    calendarView.configuration.monthViewBackgroundColor = UIColor.white
    calendarView.configuration.monthViewBottomLineColor = UIColor.darkGray
    calendarView.configuration.monthLabelFont = UIFont.systemFont(ofSize: 20)
    calendarView.configuration.monthLabelTextColor = UIColor.red
    

    Days Customization

    calendarView.configuration.previousDayTextColor = UIColor.black
    calendarView.configuration.previousDayBorderColor = UIColor.clear
    calendarView.configuration.upcomingDaysBorderColor = UIColor.clear
    calendarView.configuration.upcomingDaysBorderColor = UIColor.clear
    calendarView.configuration.upcomingDayTextColor = UIColor.brown
    calendarView.configuration.selectedDayTextColor = UIColor.yellow
    calendarView.configuration.currentDayBorderColor = UIColor.black
    calendarView.configuration.currentDayTextColor = UIColor.white
    calendarView.configuration.currentDayBackgroundColor = UIColor.red
    

    Selection Delegates

    calendarView.delegate = self
    
    extension ViewController: SSCalendarDeleagte {
    
        func dateSelected(_ date: Date) {
            print("selected: \(date)")
        }
    
        func dateDeSelected(_ date: Date) {
            print("deSelected: \(date)")
        }
    }
    

    Contribute

    • We would love you for the contribution to SSCalendarControl, check the LICENSE file for more info.

    Meta

    • Distributed under the MIT license. See LICENSE for more information.
    Visit original content creator repository https://github.com/SimformSolutionsPvtLtd/SSCalendarControl