Git Product home page Git Product logo

planzap's Introduction


馃摀 PlanZap 馃摀

PlanZap logo



馃専 Index

馃専 About The Project

A productivity cum utility based open source application, where users can keep an eye on their tasks update their progress , maintain a watchlist for movies, books , personal diary as well as notes.

馃専 Built With

  • HTML
  • CSS
  • React
  • Material UI
  • REST APIs

馃専 Structure

  • A side navbar with the fixed position, that render everytime a new section is clicked, in the area beside it- refered to as "routearea" in the app
  • All CSS of all files is present in the CSS components file
  • useContext has been used to get access to userid , login status etc.

Live site

Have a look here on the live site.

馃専 Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • You need to install Node js to successfully run this project on your local machine.

馃専 Installation and Setup

1. Navigate to the project directory

cd PlanZap

2. In the project directory, navigate to "Backend" directory

cd Backend

3. In the Backend directory, install the packages using

npm install

4. Now move out of the Backend directory, to the project directory using

cd ..

5. In the project directory, navigate to "Frontend" directory

cd Frontend

6. In the Frontend directory, install the packages using

npm install

7. Once all the packages are installed, run the app on your local server using

npm start

Open http://localhost:3000 or http://localhost:3001 to view it in the browser. The page will reload if you make edits.
You will also see any lint errors in the console.

馃専 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

1. To contribute to this project you first need to fork this repository Fork this repository. To fork it click on the fork image

2. Clone your forked copy of the project. To clone open git bash in your device and type the following command

git clone https://github.com/<your github username>/PlanZap.git

3. Now open git bash in cloned repository folder

4. Add a reference(remote) to the original repository.

git remote add upstream https://github.com/SaraswatGit/PlanZap.git

5. Check the remotes for this repository.

git remote -v

6. Always take a pull from the upstream repository to your master branch to keep it at par with the main project(updated repository).

git pull upstream main

7. Create a new branch.

git checkout -b <your_branch_name>

8. Perform your desired changes to the code base.

9. Track your changes:heavy_check_mark: .

git add .

10. Commit your changes .

git commit -m "Relevant message"

11. Push the committed changes in your feature branch to your remote repo.

git push -u origin <your_branch_name>

12. To create a pull request, click on compare and pull requests. Please ensure you compare your feature branch to the desired branch of the repository you are supposed to make a PR to.

13. Add appropriate title and description to your pull request explaining your changes and efforts done.

14. Add a screenshot or screen-recording when submitting a PR.

15. Click on Create Pull Request.

馃専 Roadmap

See the open issues for a list of proposed features . Feel free to raise new issues.

Things that can be improved

  • On login page confirm password and password don't yet have matching ability
  • Improving the UI of the login page
  • Implementing responsiveness
  • Improving the Modals (that pops up to create new movie entry or new diary entry)
  • Improving the User experience of the Personal Diary

馃専 Code of Conduct

  • Only npm should be used for managing packages.
  • Only the libraries with 1000+ downloads per week should be used.
  • Spamming issues may lead to banning user from contributing to the project.
  • No disrespectful comments towards any gender, sex, caste or nationality will be tolerated.

馃専 How to resolve merge conflicts

  • Conflicts generally arise when two people have changed the same lines in a file, or if one developer deleted a file while another developer was modifying it. In these cases, Git cannot automatically determine what is correct. Conflicts only affect the developer conducting the merge, the rest of the team is unaware of the conflict. Git will mark the file as being conflicted and halt the merging process. It is then the developers' responsibility to resolve the conflict.

  • The most direct way to resolve a merge conflict is to edit the conflicted file

  • Git commands that can help resolve merge conflicts :-

    1 .The status command is in frequent use when a working with Git and during a merge it will help identify conflicted files.

    image 2 . Passing the --merge argument to the git log command will produce a log with a list of commits that conflict between the merging branches.

    image

    3 . diff helps find differences between states of a repository/files. This is useful in predicting and preventing merge conflicts.

    image

    • If above are not resolving your issue you can checkout this url

馃専 Contributing using Github Desktop

Use this method if you have github desktop downloaded.

1. Fork this repository by clicking on the fork. Forking would create a copy of this repository so you can make changes freely without affecting the original repository.

image

2. Open you github desktop, go to file and click on clone repository .

image

3. Choose the forked repository from the options and click on clone.

image

4. Then click "to contribute on the parent project" option and then continue

5. Make a new branch by Clicking on Current Branch, then click on new branch.

image

6. Give your branch a new name.

7. Click on "open in visual studio code" option. This would create a new workspace in your vsc.

image

8. Make the changes you want to make and save. For example the one below:

image

9. Now go back to the github desktop and you will automatically see the changes.

image

10. Add the title of your change and description and commit.

image

11. Now click on publish branch.

12. Now click on create pull request.This will redirect you to the github website where you can see your changes. Click on "create pull request" .

image

13. Your work is now done, wait for the creater to merge your changes. Happy contributing! :))

image

馃専 Open Source Participation

This project is a part of these Open Source Programs


馃専 Contributors

Thanks to these wonderful people 鉁ㄢ湪:

馃専 Project Admin


聽聽

Back to Top^

planzap's People

Contributors

03amir avatar aayush987 avatar abhiimali avatar alik-kumar-ghosh avatar aniket-508 avatar arzitmahajan avatar dakshgupta2002 avatar dhruvtongia avatar faraaz2633 avatar kalash2205 avatar kushalghosh9899 avatar lavanya066 avatar mayonk-kumar-git avatar mnnkhndlwl avatar navyagarwal avatar nitishsaini706 avatar piyusha2001 avatar r3yc0n1c avatar raxvab avatar saraswatgit avatar shikhar253 avatar shlok1999 avatar shruti025 avatar siddhesh777 avatar smd-1 avatar srijita-mandal avatar supriya2922 avatar tess-vanta avatar utkarshking avatar vakshit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

planzap's Issues

Editing

Needs changes in the designing of the website including navigation bar and styling

Add GSSOC logo and PR rules in the readme

You have two sub-tasks :
1)Add a rule under the section explaining pull request in readme to add screenshot or screen-recording when submitting a PR.
2)Add a GSSOC logo in the 2nd last section . (Part of these open source programs . )

On registering redirect to calendar page

Currently one redirects to calendar page only on logging in and on registering one needs to log in again to enter the website .

Hint : You can use async await or then() to resolve this issue . Once the user has been create , log in by calling the same API called for logging in the user proving it with email and password .

The last quote disappears if no change is made .

  • If you have gone through the website you must have seen there is a quote section. Now when you try to edit, it just omits the last quote completely and take whatever is written in the box(Modal) it even disappears if no change is made.
  • You can go through the Notes and Movie list section which has edit features but they don't disappear like in here(quote section).
  • For better understand pleasing ping me on discord .

Display a Pop-Up to confirm Deletion of a Task

You must have observed when deleting a task just clicking on the cross button deletes it. I want you to display a pop-up to confirm the deletion.
Message can be "Are you sure you want to delete the task".
Earlier:
Click on Cross -> Task Deleted
How it should be ?
Click on Cross -> Modal Pops Up -> Confirm ? Task Deleted : Modal Closes .

Add Edit Feature to both Movie Name and description

In the Movie list, there is an option to edit the description but not the movie name. The modal should have the option to edit both movie name and description, you can refer to how the notes and ideas section functions. It has an edit feature for both the heading and the note.

Dairy Date Selection while adding new note.

Currently, the date selection is allowed for future dates as well which is not logical according to what diary is meant for. Solution proposed : The user will only be able to select date till today or past dates but not future ones.

Improving the documentation(README.md)

The structure and understanding of the documentation can be improved . For example, diving it into sections like installing required apps to run the app on local machines. Telling about how the app is structured. Improve UI of the documentation.

fix: Warnings on VS code/ Console

While running the app by running the npm start command on the console then there is a number of warnings that are coming on the console.
These warnings will be resolved in this issue.

Snapshot of warning-
image

Add pop up to confirm deletion of notes and movie

Checkout on how trying to delete a task gives out a pop-up to confirm it. To close the issue you have brought in the same feature to confirm deletion of Movie/Task.
A message like "Are you sure you want to delete the movie from movielisr" or something similar would suffice .

On Deleting a task confetti should not pop up

You must have observed a new confetti feature on our website. The thing is this appears even when a user deletes a task (clicking on a cross button) . To resolve this call the API call when user wants to delete and API call when user has completed the task should come inside different functions .

Improving the Login and Registration Features and UI .

  • The UI of the login page has to be improved
  • There should be a login window for registered users.
  • There should be a registration pop-up for non-registered users.
  • After user has completed registration , display a message saying registration complete and a link to redirect to login page

Add code of conduct to the readme .

following should be added .

  1. only npm to be used for managing packages.
    2)only those libraries and packages which have >1000 downloads per weeks to be used .
    3)spamming issues may lead to banning user from contributing to the project.
    4)No disrespectful comments towards any gender , sex , caste , nationality will be tolerated .

On Adding a diary entry or updating it , it should show up on the screen.

If you have checked out the diary page . You must have noticed once user puts and new entry or updates a entry , the new /updated entry doesn't automatically appear . User has to select the date and click on view to see his entry . This should be replaced by whenever the user submits a new entry it should appear below the date selection region,

Add a how to use section .

A section should come below the "Ideas and Notes" section explaining to new users how the website needs to be used. Like how to add tasks, how to edit them, how to add a new note etc.

Add a new feature to display the tasks based on user preference .

A button should come up beside the Add New Task clicking on which a pop showing all tasks will appear. Now there should be an option to arrange the tasks in the following manner :

1)Based on deadline (a task with the earliest deadline should come at the top)

2)Based on % of work left (a task with most work left will come at the top)

3)Based on both (here you should or can use the fractional knapsack concept, you will arrange elements by the
following formula: (% work left / No. of days left )* (3/2/1 for highest/medium/lowest priority) , the one with the highest value of the given formula will come at top)

You can refer to the following article : https://stackoverflow.com/questions/5002848/how-to-define-custom-sort-function-in-javascript

Switching to Landscape mode when width is less than 600 px (Media Query)

You must have seen our website is not quite responsive, the thing is its design in a such a way it's not possible to make it one but what we can do here is just switch the entire app to landscape mode when the width is less than 600px

You have to display a warning message this website is viewable only in landscape mode and block the rest of the website.

Deadline Date Selection for New Tasks

Currently, the user is able to select previous dates than today which is not feasible.
Solution proposed. The calendar should disable the selection of past dates than today and allow only selection of future dates.

Improve UI of movie list page

image
The imdb column should be thinner as it will contain max 3 digits . The movie name and description should has more padding on left add 2X nbsp; or just increase the left padding .

UI errors for smaller screens

There are some errors for smaller screens. I am attaching the screenshots

The title content is hiding behind the screen
image

The "Update/Add" button and "Date" button content is hiding
image

The Imdb button has error
image

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.