GithubHelp home page GithubHelp logo

code-institute-submissions / dailyplanner-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anelairam/dailyplanner

0.0 1.0 0.0 84 KB

Dockerfile 13.40% JavaScript 10.90% Python 52.78% HTML 22.92%

dailyplanner-1's Introduction

Daily Planner

Responsive Mockup

Welcome to the Daily Planner, a Python application which runs in the Code Institure mock terminal on Heroku.

The purpose of this application is for the user to register, preview and delete his events. Each user has access on his own events only and need to be an authorised user in order to interact with the data.

Here is the live version of my project. Deployment Link

How to use the application

In order for the user to start register his events he has to enroll into the application's system. If he is already a user he can log in and if not, he can register and become a user. For a user to log in it is required a valid email and password which he had already entered during his registration. For any new user the application will request a few informarion, validate them and then register the new person as a valid user. When the validation of the user is completed, the application will provide the user a 4 choice menu from which he can navigate through the application, interact with the data by viewing existing events, adding new events, delete events and exit.

Features

Existing Features

  • Welcome message with information regardin the current date and entry start menu Welcome Image
  • User Log in or Sign up interface

User Log in

  • New user interface and validation steps

New user validation

Future Features

Future features that had been thought through the deployment of the application and are planned to be added in the application in the new future are

  • Option for the user to edit the existing events
  • Option for the user to change password and username
  • Option for the events of the user to be displayed per day, per month and future

Data Model

I decided for the purpose of the application to use Google Sheets with two worksheets, users and events. The application interacts with the data that are registered in the users worksheet to validate the username/email and password. In the events worksheet the application reads,writes and deletes each user's events based on his choices.

Testing

I have manually tested the project applying the following: *Given valid and invalid input combinations: *Invalid email address formats *Invalid username and password *Invalid date and time combination while adding a new event *Tested in Heroku and gitpod terminal *Passed the code thourhg a PEP8 validator

Bugs

Solved bugs

  • When I was trying to access certain data for user validation a type error occured at the iteration statement. I fixed this issue by converting the userd into a tupple using: tuple(userd)
  • During the process of displaying the events and giving the user the ability to delete any desired event of his, I realised that every event should have a unique id in order to be recognised from the others that the user had. In order to fix this issue I created a new column into the events worksheet in which every new event will be assigned with a unique number. Providing the number to the user and asking for the desired event with the unique number to be deleted, I targeted the event's row using the: cell = events_sheet.find(del_event) events_sheet.delete_row(cell.row)

Reamining Bugs

During the testing period it was spotted that there was an issue with the date validation regarding the comparison with the past and present or future dates. Steps that had been followed till now for resolving this issue are:

  • Convert the data type and compare
  • Try different types of data comparison and reverse

Validators Test

The PEP8 online was used as validator Validator

Deployment

This project was deployed using the Code Institure's terminal Heroku.

Steps followed for deployment:

  • Clone of the repository from code institute's template
  • Create new Heroku app
  • Set the Config Vars
  • Set the buildpacks to Python and NodeJs
  • Link the application to the repository
  • Deploy the project

Credits

Deployment:


Thank you!

dailyplanner-1's People

Contributors

anelairam avatar

Watchers

 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.