├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── documentation.md │ ├── feature_request.md │ ├── proposal.md │ └── question.md ├── auto_assign.yml ├── pull_request_template.md └── workflows │ ├── action.yml │ └── assign.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── client ├── .gitignore ├── README.md ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ ├── registerServiceWorker.js │ ├── reportWebVitals.js │ └── setupTests.js └── yarn.lock ├── deepsource.toml ├── design ├── Logo-design ├── error-screen │ ├── color-scheme │ │ ├── color-scheme.pdf │ │ └── color-scheme.png │ ├── screens │ │ ├── error-screen-desktop.pdf │ │ ├── error-screen-desktop.png │ │ ├── error-screen-mobile.pdf │ │ └── error-screen-mobile.png │ └── wireframe │ │ └── error-screen-figma.fig ├── login-signup-screen │ ├── color-scheme │ │ ├── color-scheme.pdf │ │ └── color-scheme.png │ ├── screens │ │ ├── create-account-screen-desktop.pdf │ │ ├── create-account-screen-desktop.png │ │ ├── create-account-screen-mobile.pdf │ │ ├── create-account-screen-mobile.png │ │ ├── login-screen-desktop.pdf │ │ ├── login-screen-desktop.png │ │ ├── login-screen-mobile.pdf │ │ ├── login-screen-mobile.png │ │ ├── mobile-view.pdf │ │ └── mobile-view.png │ └── wireframe │ │ └── login-signup-figma.fig ├── logo-design │ ├── All-Notes-Logo.png │ └── All-Notes-monogram.png ├── splash-screen │ ├── screens │ │ ├── screen-1.png │ │ ├── screen-2.png │ │ ├── screen-3.png │ │ ├── screen-4.png │ │ ├── screen-5.png │ │ ├── screen-6.png │ │ └── screen-7.png │ └── splash-screen.gif └── user-profile-page │ ├── color-scheme │ ├── color-scheme.pdf │ └── color-scheme.png │ ├── screens │ ├── user-profile-page.pdf │ └── user-profile-page.png │ └── wireframe │ └── user-profile-page.fig └── server ├── .gitignore ├── index.js ├── package-lock.json └── package.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | labels: bug 5 | --- 6 | 7 | # Describe the bug 8 | A clear and concise description of what the bug is. 9 | 10 | # Expected behaviour 11 | A clear and concise description of what you expected to happen. 12 | 13 | # Screenshots (if any) 14 | If applicable, add screenshots to help explain your problem. 15 | 16 | # Additional context 17 | Add any other context about the problem here. 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation 3 | about: Report an issue related to documentation 4 | labels: "documentation" 5 | --- 6 | 7 | # Documentation 8 | A clear and concise description of what the issue is. 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Submit a proposal for a new feature 4 | --- 5 | 6 | # Is your feature request related to a problem? Please describe. 7 | A clear and concise description of what the problem is. 8 | 9 | # Describe the solution you'd like 10 | A clear and concise description of what you want to happen. 11 | 12 | # Describe alternatives you've considered 13 | A clear and concise description of any alternative solutions or features you've considered. 14 | 15 | # Additional context 16 | Add any other context or screenshots about the feature request here. 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/proposal.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Proposal 3 | about: Propose a non-trivial change to AllNotes 4 | labels: "proposal" 5 | --- 6 | 7 | # Proposal 8 | A clear and concise description of what the proposal is. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Questions and Help 3 | about: If you have questions, please feel free to ask 4 | labels: "question" 5 | --- 6 | 7 | # Questions and Help 8 | Write your question here. 9 | -------------------------------------------------------------------------------- /.github/auto_assign.yml: -------------------------------------------------------------------------------- 1 | # Set to true to add reviewers to pull requests 2 | addReviewers: true 3 | # Set to true to add assignees to pull requests 4 | addAssignees: false 5 | # A list of reviewers to be added to pull requests (GitHub user name) 6 | reviewers: 7 | - HarshCasper 8 | 9 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Related Issue 2 | - issue goes here 3 | 4 | # Proposed Changes 5 | - change 1 6 | - change 2 7 | 8 | # Description 9 | 10 | # Checklist 11 | - [ ] Clean code 12 | - [ ] Documentation 13 | - [ ] Proper Readme.md 14 | 15 | # Screenshots 16 | - Original 17 | - Updated 18 | 19 | # Additional Info or Context (if any) -------------------------------------------------------------------------------- /.github/workflows/action.yml: -------------------------------------------------------------------------------- 1 | name: 'Auto Assign' 2 | on: pull_request 3 | jobs: 4 | add-reviews: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: kentaro-m/auto-assign-action@v1.1.2 8 | 9 | -------------------------------------------------------------------------------- /.github/workflows/assign.yaml: -------------------------------------------------------------------------------- 1 | name: Assign 2 | 3 | on: 4 | schedule: 5 | - cron: '*/59 * * * *' 6 | issue_comment: 7 | types: [created] 8 | 9 | jobs: 10 | slash_assign: 11 | if: > 12 | (github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/assign')) || 13 | github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Assign the user or unassign stale assignments 17 | uses: JasonEtco/slash-assign-action@v0.0.3 18 | with: 19 | assigned_label: Assigned 20 | days_until_warning: 7 21 | days_until_unassign: 14 22 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Contributor Covenant Code of Conduct 2 | 3 | > The code of conduct helps to welcome all people to contribute and pledges in return to value them as whole human beings and to foster an atmosphere of kindness, cooperation, and understanding. 4 | ### Our Pledge 5 | 6 | We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 7 | 8 | We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. 9 | 10 | ### Our Standards 11 | 12 | Examples of behaviour that contributes to a positive environment for our community include: 13 | 14 | - Demonstrating empathy and kindness toward other people 15 | - Being respectful of differing opinions, viewpoints, and experiences 16 | - Giving and gracefully accepting constructive feedback 17 | - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience 18 | - Focusing on what is best not just for us as individuals, but for the overall community 19 | 20 | Examples of unacceptable behaviour include: 21 | 22 | - The use of sexualized language or imagery, and sexual attention or advances of any kind 23 | - Trolling, insulting or derogatory comments, and personal or political attacks 24 | - Public or private harassment 25 | - Publishing others’ private information, such as a physical or email address, without their explicit permission 26 | - Other conduct which could reasonably be considered inappropriate in a professional setting 27 | 28 | ### Our Responsibilities 29 | 30 | Project maintainers are responsible for clarifying the standards of acceptable behaviour and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour. 31 | 32 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful. 33 | 34 | ### Scope 35 | 36 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 37 | 38 | ### Enforcement 39 | 40 | Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported to the project admin responsible for enforcement at erbeusgriffincasper@gmail.com, or directly contacting project team members via email or Slack. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality regarding the reporter of an incident. Further details of specific enforcement policies may be posted separately. 41 | 42 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 43 | 44 | ### Attribution 45 | 46 | This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 47 | 48 | For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq 49 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution is fun! :green_heart: 2 | 3 | Thanks for checking out our contribution guide. We greatly appreciate any work contributed, no matter how small! 4 | 5 | ## How to Contribute 6 | 7 | When you are ready to start work on an issue: 8 | 9 | - Declare your intent of working on a issue by raising appropriate comments. (Also, let us know later if you are no longer working on it.) 10 | - If you've already discussed with the Maintainer, then you can comment `/assign` on the issue. A Github Action Bot will automatically assign the issue on a first come, first serve basis. 11 | - Upon assignment of the Issue, proceed to make the Pull Request. This will help avoid multiple PRs pertaining to the same issue. 12 | 13 | If you don't see your idea listed in the issues, please do one of the following: 14 | * **If your contribution is minor,** such as a typo fix, open a pull request. 15 | * **If your contribution is major,** such as a new feature/enhancement, start by opening an issue first. This way, other people can be also involved in the discussion before you do any work. 16 | 17 | In order to make a hassle-free environment, I implore you all to follow the instructions mentioned below! 18 | 19 | Happy Contributing :slightly_smiling_face: 20 | 21 | ## :arrow_down: Installation 22 | 23 | - First, fork this repository and follow the given instructions: 24 | 25 | ```bash 26 | # clone the repository to your local machine using Git Bash 27 | $ git clone https://github.com//AllNotes.git 28 | 29 | # navigate to the project's directory 30 | # and install all the relevant dev-dependencies 31 | $ cd AllNotes 32 | 33 | # add upstream 34 | $ git remote add upstream https://github.com/HarshCasper/AllNotes.git 35 | 36 | # include all the latest changes from the remote repository 37 | # to keep your local branch updated with develop branch. 38 | $ git fetch upstream 39 | $ git merge upstream/develop 40 | ``` 41 | 42 | Checkout to develop branch 43 | `$ git checkout develop` 44 | 45 | Next, create a new branch for the particular issue - `$ git checkout -b ` and make PR from that branch while leaving other branches unchanged. 46 | - Branch name should be feature/FeatureName or fix/FixName 47 | 48 | Once you have made your changes, run the following command: 49 | 50 | ```bash 51 | # add your changes 52 | $ git add . 53 | ``` 54 | 55 | ## Git Commit Messages 56 | 57 | A good Git Commit Messages is always good for the overall status and health of the project. Here are some Git Commit Guidelines that you should be following for the project: 58 | 59 | - feat : feature 60 | - fix : bug fix 61 | - docs : documentation 62 | - style : formatting, lint stuff 63 | - refactor : code restructure without changing external behaviour 64 | - test : adding missing tests 65 | - chore : maintenance 66 | - init : initial commit 67 | - rearrange : files moved, added, deleted etc 68 | - update : update code (versions, library compatibility) 69 | 70 | Some examples of the pull requests following the above guidelines would look like: 71 | `feat: add nav bar on react app` 72 | `docs: add code of conduct` 73 | `test: add cypress e2e for login and signup` 74 | 75 | Try to keep the Commit Lines, under 80 characters in width and should be in the present tense, with no letters capitalized (until necessary). 76 | 77 | ```bash 78 | # make your commit 79 | $ git commit -m "" 80 | 81 | #push your changes 82 | git push -u origin NEW-BRANCH-NAME 83 | ``` 84 | Every PR should have one atomic commit. The commit should be logical and imperative. So, if you are making multiple commits for all good reasons, try to push them into one single commit. For squashing commits and pushing the changes: 85 | ```bash 86 | # checkout to your branch 87 | $ git checkout 88 | 89 | # to act and operate on the last N commits 90 | # N = number of commits you want to squash 91 | $ git reset --soft HEAD~N 92 | 93 | #now you can make a single commit 94 | $ git add . 95 | $ git commit -m "" 96 | 97 | # push your changes 98 | $ git push -f origin HEAD 99 | ``` 100 | > Think you're ready :grey_question: Make the PR. 101 | > Always make PRs to develop branch. 102 | 103 | In case, you want to do some changes after making the pull request, make the changes in your local repository and then, run the following commands: 104 | 105 | ```bash 106 | # add your changes 107 | $ git add . 108 | 109 | # amend your changes 110 | $ git commit --amend 111 | ``` 112 | This will open a vim text editor. Press `esc` , write `:q` and then hit enter . 113 | 114 | Voila! Your Pull Request has been submitted and will be reviewed by the moderators and merged. 115 | 116 | ## Need more help?🤔 117 | You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, in case you are stuck: 118 | - [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) 119 | - [Cloning a Repo](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request) 120 | - [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github) 121 | - [Getting started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6) 122 | - [Learn GitHub from Scratch](https://lab.github.com/githubtraining/introduction-to-github) 123 | - [Learn more about Vim Shortcuts](https://docs.google.com/document/d/1AwJ0QTpi73-IF7yzpHeszr3iBnL2W2CsuY1qpwjZP7s/edit?usp=sharing) 124 | 125 | ## Tip from us😇 126 | It always takes time to understand and learn. So, do not worry at all. We know **you have got this**!💪 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Harsh Bardhan Mishra 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![AllNotes](https://socialify.git.ci/harshcasper/AllNotes/image?font=Bitter&forks=1&issues=1&language=1&owner=1&pattern=Formal%20Invitation&pulls=1&stargazers=1&theme=Dark) 2 | 3 | ## Project Abstract 🙋 4 | 5 | This Web Application powered by MERN Stack will be making use of intuitive User-Interface and User-Experience to allow Students to come onto a One-Stop Portal and share Resources and Notes related to their Syllabus and Subjects which can benefit the Society as a whole. An integrated PDF-Viewer would allow the other students to check out the Resources and upvote a User depending on the usefulness of the Resources shared from his part. This Social Application would allow Students to connect over their love of Subjects and helping out of the Community in an effective way, benefitting a lot of Students in the longer run. 6 | 7 | ## Project Background💡 8 | 9 | In Majority of the Colleges and Universities across India, Notes Sharing is done in Private WhatsApp Groups and Telegram Channels which often lead to other students missing out on important notes during Exam-Times. A One-Stop Solution can be to bring up an Application where Students can drop down their Notes for Public View, that can be accessed by anyone. 10 | 11 | To make it a gamified experience, other Users can upvote the contributions done by the Contributors which can be “rewarded” in terms of Credits and more. We will also be working on adding more features to the Project, like specifying the nature of Notes and to whom it benefits the most which would allow the other User to filter and view specific content. 12 | 13 | ## Technology Stack 🛠️ 14 | 15 | - **Coding Languages**: Javascript (MERN Stack) 16 | 17 | - **Tools & Technologies**: React, MongoDB, Express, NodeJS, Amazon Web Services, Postman, Jest, Github Actions (CI/CD) 18 | 19 | - **Project Management Tools**: Trello, Git/Github, Markdown (Documentation) 20 | 21 | ## Learning Resources 🧰 22 | 23 | - [Complete Intro to React, v5](https://frontendmasters.com/courses/complete-react-v5/) 24 | 25 | - [Intermediate React](https://frontendmasters.com/courses/intermediate-react/) 26 | 27 | - [Introduction to MongoDB](https://frontendmasters.com/courses/mongodb/) 28 | 29 | - [API Design in Node.js (using Express & Mongo)](https://frontendmasters.com/courses/api-design-nodejs/using-the-mongo-with-node/) 30 | 31 | ## License📜 32 | 33 | [MIT License](https://github.com/HarshCasper/AllNotes/blob/main/LICENSE) 34 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- 1 | # Getting Started with Create React App 2 | 3 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). 4 | 5 | ## Available Scripts 6 | 7 | In the project directory, you can run: 8 | 9 | ### `yarn start` 10 | 11 | Runs the app in the development mode.\ 12 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser. 13 | 14 | The page will reload if you make edits.\ 15 | You will also see any lint errors in the console. 16 | 17 | ### `yarn test` 18 | 19 | Launches the test runner in the interactive watch mode.\ 20 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. 21 | 22 | ### `yarn build` 23 | 24 | Builds the app for production to the `build` folder.\ 25 | It correctly bundles React in production mode and optimizes the build for the best performance. 26 | 27 | The build is minified and the filenames include the hashes.\ 28 | Your app is ready to be deployed! 29 | 30 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. 31 | 32 | ### `yarn eject` 33 | 34 | **Note: this is a one-way operation. Once you `eject`, you can’t go back!** 35 | 36 | If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. 37 | 38 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. 39 | 40 | You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. 41 | 42 | ## Learn More 43 | 44 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). 45 | 46 | To learn React, check out the [React documentation](https://reactjs.org/). 47 | 48 | ### Code Splitting 49 | 50 | This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) 51 | 52 | ### Analyzing the Bundle Size 53 | 54 | This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) 55 | 56 | ### Making a Progressive Web App 57 | 58 | This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) 59 | 60 | ### Advanced Configuration 61 | 62 | This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) 63 | 64 | ### Deployment 65 | 66 | This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) 67 | 68 | ### `yarn build` fails to minify 69 | 70 | This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) 71 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "client", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@testing-library/jest-dom": "^5.11.4", 7 | "@testing-library/react": "^11.1.0", 8 | "@testing-library/user-event": "^12.1.10", 9 | "react": "^17.0.1", 10 | "react-dom": "^17.0.1", 11 | "react-scripts": "4.0.1", 12 | "web-vitals": "^0.2.4" 13 | }, 14 | "scripts": { 15 | "start": "react-scripts start", 16 | "build": "react-scripts build", 17 | "test": "react-scripts test", 18 | "eject": "react-scripts eject" 19 | }, 20 | "eslintConfig": { 21 | "extends": [ 22 | "react-app", 23 | "react-app/jest" 24 | ] 25 | }, 26 | "browserslist": { 27 | "production": [ 28 | ">0.2%", 29 | "not dead", 30 | "not op_mini all" 31 | ], 32 | "development": [ 33 | "last 1 chrome version", 34 | "last 1 firefox version", 35 | "last 1 safari version" 36 | ] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 17 | 18 | 27 | React App 28 | 29 | 30 | 31 |
32 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/client/public/logo192.png -------------------------------------------------------------------------------- /client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/client/public/logo512.png -------------------------------------------------------------------------------- /client/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /client/src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | } 4 | 5 | .App-logo { 6 | height: 40vmin; 7 | pointer-events: none; 8 | } 9 | 10 | @media (prefers-reduced-motion: no-preference) { 11 | .App-logo { 12 | animation: App-logo-spin infinite 20s linear; 13 | } 14 | } 15 | 16 | .App-header { 17 | background-color: #282c34; 18 | min-height: 100vh; 19 | display: flex; 20 | flex-direction: column; 21 | align-items: center; 22 | justify-content: center; 23 | font-size: calc(10px + 2vmin); 24 | color: white; 25 | } 26 | 27 | .App-link { 28 | color: #61dafb; 29 | } 30 | 31 | @keyframes App-logo-spin { 32 | from { 33 | transform: rotate(0deg); 34 | } 35 | to { 36 | transform: rotate(360deg); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /client/src/App.js: -------------------------------------------------------------------------------- 1 | import logo from './logo.svg'; 2 | import './App.css'; 3 | 4 | function App() { 5 | return ( 6 |
7 |
8 |

Hello, All-Notes :)

9 | 10 |
11 |
12 | ); 13 | } 14 | 15 | export default App; 16 | -------------------------------------------------------------------------------- /client/src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /client/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import reportWebVitals from './reportWebVitals'; 6 | 7 | ReactDOM.render( 8 | 9 | 10 | , 11 | document.getElementById('root') 12 | ); 13 | 14 | // If you want to start measuring performance in your app, pass a function 15 | // to log results (for example: reportWebVitals(console.log)) 16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 17 | reportWebVitals(); 18 | -------------------------------------------------------------------------------- /client/src/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/registerServiceWorker.js: -------------------------------------------------------------------------------- 1 | // In production, we register a service worker to serve assets from local cache. 2 | 3 | // This lets the app load faster on subsequent visits in production, and gives 4 | // it offline capabilities. However, it also means that developers (and users) 5 | // will only see deployed updates on the "N+1" visit to a page, since previously 6 | // cached resources are updated in the background. 7 | 8 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy. 9 | // This link also includes instructions on opting out of this behavior. 10 | 11 | const isLocalhost = Boolean( 12 | window.location.hostname === 'localhost' || 13 | // [::1] is the IPv6 localhost address. 14 | window.location.hostname === '[::1]' || 15 | // 127.0.0.1/8 is considered localhost for IPv4. 16 | window.location.hostname.match( 17 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ 18 | ) 19 | ); 20 | 21 | export default function register() { 22 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { 23 | // The URL constructor is available in all browsers that support SW. 24 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location); 25 | if (publicUrl.origin !== window.location.origin) { 26 | // Our service worker won't work if PUBLIC_URL is on a different origin 27 | // from what our page is served on. This might happen if a CDN is used to 28 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 29 | return; 30 | } 31 | 32 | window.addEventListener('load', () => { 33 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; 34 | 35 | if (isLocalhost) { 36 | // This is running on localhost. Lets check if a service worker still exists or not. 37 | checkValidServiceWorker(swUrl); 38 | 39 | // Add some additional logging to localhost, pointing developers to the 40 | // service worker/PWA documentation. 41 | navigator.serviceWorker.ready.then(() => { 42 | console.log( 43 | 'This web app is being served cache-first by a service ' + 44 | 'worker. To learn more, visit https://goo.gl/SC7cgQ' 45 | ); 46 | }); 47 | } else { 48 | // Is not local host. Just register service worker 49 | registerValidSW(swUrl); 50 | } 51 | }); 52 | } 53 | } 54 | 55 | function registerValidSW(swUrl) { 56 | navigator.serviceWorker 57 | .register(swUrl) 58 | .then(registration => { 59 | registration.onupdatefound = () => { 60 | const installingWorker = registration.installing; 61 | installingWorker.onstatechange = () => { 62 | if (installingWorker.state === 'installed') { 63 | if (navigator.serviceWorker.controller) { 64 | // At this point, the old content will have been purged and 65 | // the fresh content will have been added to the cache. 66 | // It's the perfect time to display a "New content is 67 | // available; please refresh." message in your web app. 68 | console.log('New content is available; please refresh.'); 69 | } else { 70 | // At this point, everything has been precached. 71 | // It's the perfect time to display a 72 | // "Content is cached for offline use." message. 73 | console.log('Content is cached for offline use.'); 74 | } 75 | } 76 | }; 77 | }; 78 | }) 79 | .catch(error => { 80 | console.error('Error during service worker registration:', error); 81 | }); 82 | } 83 | 84 | function checkValidServiceWorker(swUrl) { 85 | // Check if the service worker can be found. If it can't reload the page. 86 | fetch(swUrl) 87 | .then(response => { 88 | // Ensure service worker exists, and that we really are getting a JS file. 89 | if ( 90 | response.status === 404 || 91 | response.headers.get('content-type').indexOf('javascript') === -1 92 | ) { 93 | // No service worker found. Probably a different app. Reload the page. 94 | navigator.serviceWorker.ready.then(registration => { 95 | registration.unregister().then(() => { 96 | window.location.reload(); 97 | }); 98 | }); 99 | } else { 100 | // Service worker found. Proceed as normal. 101 | registerValidSW(swUrl); 102 | } 103 | }) 104 | .catch(() => { 105 | console.log( 106 | 'No internet connection found. App is running in offline mode.' 107 | ); 108 | }); 109 | } 110 | 111 | export function unregister() { 112 | if ('serviceWorker' in navigator) { 113 | navigator.serviceWorker.ready.then(registration => { 114 | registration.unregister(); 115 | }); 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /client/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /client/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /deepsource.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | exclude_patterns = [ 4 | "public/**,", 5 | "dist/**" 6 | ] 7 | 8 | [[analyzers]] 9 | name = "javascript" 10 | enabled = true 11 | 12 | [analyzers.meta] 13 | ecma_version = "6" 14 | module_system = "es-modules" 15 | environment = ["nodejs", 16 | "browser", 17 | "jest", 18 | "mongo", 19 | ] 20 | 21 | plugins = ["react"] 22 | style_guide = "airbnb" 23 | 24 | dependency_file_paths = [ 25 | "client/package.json", 26 | "server/package.json", 27 | ] 28 | 29 | -------------------------------------------------------------------------------- /design/Logo-design: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /design/error-screen/color-scheme/color-scheme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/color-scheme/color-scheme.png -------------------------------------------------------------------------------- /design/error-screen/screens/error-screen-desktop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/screens/error-screen-desktop.pdf -------------------------------------------------------------------------------- /design/error-screen/screens/error-screen-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/screens/error-screen-desktop.png -------------------------------------------------------------------------------- /design/error-screen/screens/error-screen-mobile.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/screens/error-screen-mobile.pdf -------------------------------------------------------------------------------- /design/error-screen/screens/error-screen-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/screens/error-screen-mobile.png -------------------------------------------------------------------------------- /design/error-screen/wireframe/error-screen-figma.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/error-screen/wireframe/error-screen-figma.fig -------------------------------------------------------------------------------- /design/login-signup-screen/color-scheme/color-scheme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/color-scheme/color-scheme.png -------------------------------------------------------------------------------- /design/login-signup-screen/screens/create-account-screen-desktop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/create-account-screen-desktop.pdf -------------------------------------------------------------------------------- /design/login-signup-screen/screens/create-account-screen-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/create-account-screen-desktop.png -------------------------------------------------------------------------------- /design/login-signup-screen/screens/create-account-screen-mobile.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/create-account-screen-mobile.pdf -------------------------------------------------------------------------------- /design/login-signup-screen/screens/create-account-screen-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/create-account-screen-mobile.png -------------------------------------------------------------------------------- /design/login-signup-screen/screens/login-screen-desktop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/login-screen-desktop.pdf -------------------------------------------------------------------------------- /design/login-signup-screen/screens/login-screen-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/login-screen-desktop.png -------------------------------------------------------------------------------- /design/login-signup-screen/screens/login-screen-mobile.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/login-screen-mobile.pdf -------------------------------------------------------------------------------- /design/login-signup-screen/screens/login-screen-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/login-screen-mobile.png -------------------------------------------------------------------------------- /design/login-signup-screen/screens/mobile-view.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/mobile-view.pdf -------------------------------------------------------------------------------- /design/login-signup-screen/screens/mobile-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/screens/mobile-view.png -------------------------------------------------------------------------------- /design/login-signup-screen/wireframe/login-signup-figma.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/login-signup-screen/wireframe/login-signup-figma.fig -------------------------------------------------------------------------------- /design/logo-design/All-Notes-Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/logo-design/All-Notes-Logo.png -------------------------------------------------------------------------------- /design/logo-design/All-Notes-monogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/logo-design/All-Notes-monogram.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-1.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-2.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-3.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-4.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-5.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-6.png -------------------------------------------------------------------------------- /design/splash-screen/screens/screen-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/screens/screen-7.png -------------------------------------------------------------------------------- /design/splash-screen/splash-screen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/splash-screen/splash-screen.gif -------------------------------------------------------------------------------- /design/user-profile-page/color-scheme/color-scheme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/user-profile-page/color-scheme/color-scheme.png -------------------------------------------------------------------------------- /design/user-profile-page/screens/user-profile-page.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/user-profile-page/screens/user-profile-page.pdf -------------------------------------------------------------------------------- /design/user-profile-page/screens/user-profile-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/user-profile-page/screens/user-profile-page.png -------------------------------------------------------------------------------- /design/user-profile-page/wireframe/user-profile-page.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HarshCasper/AllNotes/29d92640696f3df3fbe164203e99f7b8a3fbfd15/design/user-profile-page/wireframe/user-profile-page.fig -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # IDEs and editors 33 | .idea 34 | .project 35 | .classpath 36 | .c9/ 37 | *.launch 38 | .settings/ 39 | *.sublime-workspace 40 | 41 | # IDE - VSCode 42 | .vscode/* 43 | !.vscode/settings.json 44 | !.vscode/tasks.json 45 | !.vscode/launch.json 46 | !.vscode/extensions.json 47 | 48 | # misc 49 | .sass-cache 50 | connect.lock 51 | typings 52 | 53 | # Logs 54 | logs 55 | *.log 56 | npm-debug.log* 57 | yarn-debug.log* 58 | yarn-error.log* 59 | 60 | 61 | # Dependency directories 62 | node_modules/ 63 | jspm_packages/ 64 | 65 | # Optional npm cache directory 66 | .npm 67 | 68 | # Optional eslint cache 69 | .eslintcache 70 | 71 | # Optional REPL history 72 | .node_repl_history 73 | 74 | # Output of 'npm pack' 75 | *.tgz 76 | 77 | # Yarn Integrity file 78 | .yarn-integrity 79 | 80 | # dotenv environment variables file 81 | .env 82 | 83 | # next.js build output 84 | .next 85 | 86 | # Lerna 87 | lerna-debug.log 88 | 89 | # System Files 90 | .DS_Store 91 | Thumbs.db 92 | -------------------------------------------------------------------------------- /server/index.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const app = express(); 3 | const port = 8000; 4 | 5 | var project = [ 6 | { 7 | "name":"All Notes" 8 | } 9 | ] 10 | 11 | 12 | app.get('/', (req, res) => { 13 | res.json(project) 14 | }); 15 | 16 | app.listen(port, () => { 17 | console.log(`Application listening on port ${port}!`) 18 | }); 19 | -------------------------------------------------------------------------------- /server/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "server", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "accepts": { 8 | "version": "1.3.7", 9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 10 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 11 | "requires": { 12 | "mime-types": "~2.1.24", 13 | "negotiator": "0.6.2" 14 | } 15 | }, 16 | "array-flatten": { 17 | "version": "1.1.1", 18 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 19 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 20 | }, 21 | "body-parser": { 22 | "version": "1.19.0", 23 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 24 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 25 | "requires": { 26 | "bytes": "3.1.0", 27 | "content-type": "~1.0.4", 28 | "debug": "2.6.9", 29 | "depd": "~1.1.2", 30 | "http-errors": "1.7.2", 31 | "iconv-lite": "0.4.24", 32 | "on-finished": "~2.3.0", 33 | "qs": "6.7.0", 34 | "raw-body": "2.4.0", 35 | "type-is": "~1.6.17" 36 | } 37 | }, 38 | "bytes": { 39 | "version": "3.1.0", 40 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 41 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 42 | }, 43 | "content-disposition": { 44 | "version": "0.5.3", 45 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 46 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 47 | "requires": { 48 | "safe-buffer": "5.1.2" 49 | } 50 | }, 51 | "content-type": { 52 | "version": "1.0.4", 53 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 54 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 55 | }, 56 | "cookie": { 57 | "version": "0.4.0", 58 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", 59 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 60 | }, 61 | "cookie-signature": { 62 | "version": "1.0.6", 63 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 64 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 65 | }, 66 | "debug": { 67 | "version": "2.6.9", 68 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 69 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 70 | "requires": { 71 | "ms": "2.0.0" 72 | } 73 | }, 74 | "depd": { 75 | "version": "1.1.2", 76 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 77 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 78 | }, 79 | "destroy": { 80 | "version": "1.0.4", 81 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 82 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 83 | }, 84 | "ee-first": { 85 | "version": "1.1.1", 86 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 87 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 88 | }, 89 | "encodeurl": { 90 | "version": "1.0.2", 91 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 92 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 93 | }, 94 | "escape-html": { 95 | "version": "1.0.3", 96 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 97 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 98 | }, 99 | "etag": { 100 | "version": "1.8.1", 101 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 102 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 103 | }, 104 | "express": { 105 | "version": "4.17.1", 106 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 107 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", 108 | "requires": { 109 | "accepts": "~1.3.7", 110 | "array-flatten": "1.1.1", 111 | "body-parser": "1.19.0", 112 | "content-disposition": "0.5.3", 113 | "content-type": "~1.0.4", 114 | "cookie": "0.4.0", 115 | "cookie-signature": "1.0.6", 116 | "debug": "2.6.9", 117 | "depd": "~1.1.2", 118 | "encodeurl": "~1.0.2", 119 | "escape-html": "~1.0.3", 120 | "etag": "~1.8.1", 121 | "finalhandler": "~1.1.2", 122 | "fresh": "0.5.2", 123 | "merge-descriptors": "1.0.1", 124 | "methods": "~1.1.2", 125 | "on-finished": "~2.3.0", 126 | "parseurl": "~1.3.3", 127 | "path-to-regexp": "0.1.7", 128 | "proxy-addr": "~2.0.5", 129 | "qs": "6.7.0", 130 | "range-parser": "~1.2.1", 131 | "safe-buffer": "5.1.2", 132 | "send": "0.17.1", 133 | "serve-static": "1.14.1", 134 | "setprototypeof": "1.1.1", 135 | "statuses": "~1.5.0", 136 | "type-is": "~1.6.18", 137 | "utils-merge": "1.0.1", 138 | "vary": "~1.1.2" 139 | } 140 | }, 141 | "finalhandler": { 142 | "version": "1.1.2", 143 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 144 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 145 | "requires": { 146 | "debug": "2.6.9", 147 | "encodeurl": "~1.0.2", 148 | "escape-html": "~1.0.3", 149 | "on-finished": "~2.3.0", 150 | "parseurl": "~1.3.3", 151 | "statuses": "~1.5.0", 152 | "unpipe": "~1.0.0" 153 | } 154 | }, 155 | "forwarded": { 156 | "version": "0.1.2", 157 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 158 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 159 | }, 160 | "fresh": { 161 | "version": "0.5.2", 162 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 163 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 164 | }, 165 | "http-errors": { 166 | "version": "1.7.2", 167 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 168 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 169 | "requires": { 170 | "depd": "~1.1.2", 171 | "inherits": "2.0.3", 172 | "setprototypeof": "1.1.1", 173 | "statuses": ">= 1.5.0 < 2", 174 | "toidentifier": "1.0.0" 175 | } 176 | }, 177 | "iconv-lite": { 178 | "version": "0.4.24", 179 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 180 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 181 | "requires": { 182 | "safer-buffer": ">= 2.1.2 < 3" 183 | } 184 | }, 185 | "inherits": { 186 | "version": "2.0.3", 187 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 188 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 189 | }, 190 | "ipaddr.js": { 191 | "version": "1.9.1", 192 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 193 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 194 | }, 195 | "media-typer": { 196 | "version": "0.3.0", 197 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 198 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 199 | }, 200 | "merge-descriptors": { 201 | "version": "1.0.1", 202 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 203 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 204 | }, 205 | "methods": { 206 | "version": "1.1.2", 207 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 208 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 209 | }, 210 | "mime": { 211 | "version": "1.6.0", 212 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 213 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 214 | }, 215 | "mime-db": { 216 | "version": "1.44.0", 217 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 218 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 219 | }, 220 | "mime-types": { 221 | "version": "2.1.27", 222 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 223 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 224 | "requires": { 225 | "mime-db": "1.44.0" 226 | } 227 | }, 228 | "ms": { 229 | "version": "2.0.0", 230 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 231 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 232 | }, 233 | "negotiator": { 234 | "version": "0.6.2", 235 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 236 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 237 | }, 238 | "on-finished": { 239 | "version": "2.3.0", 240 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 241 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 242 | "requires": { 243 | "ee-first": "1.1.1" 244 | } 245 | }, 246 | "parseurl": { 247 | "version": "1.3.3", 248 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 249 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 250 | }, 251 | "path-to-regexp": { 252 | "version": "0.1.7", 253 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 254 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 255 | }, 256 | "proxy-addr": { 257 | "version": "2.0.6", 258 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 259 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", 260 | "requires": { 261 | "forwarded": "~0.1.2", 262 | "ipaddr.js": "1.9.1" 263 | } 264 | }, 265 | "qs": { 266 | "version": "6.7.0", 267 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 268 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 269 | }, 270 | "range-parser": { 271 | "version": "1.2.1", 272 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 273 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 274 | }, 275 | "raw-body": { 276 | "version": "2.4.0", 277 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 278 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 279 | "requires": { 280 | "bytes": "3.1.0", 281 | "http-errors": "1.7.2", 282 | "iconv-lite": "0.4.24", 283 | "unpipe": "1.0.0" 284 | } 285 | }, 286 | "safe-buffer": { 287 | "version": "5.1.2", 288 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 289 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 290 | }, 291 | "safer-buffer": { 292 | "version": "2.1.2", 293 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 294 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 295 | }, 296 | "send": { 297 | "version": "0.17.1", 298 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 299 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 300 | "requires": { 301 | "debug": "2.6.9", 302 | "depd": "~1.1.2", 303 | "destroy": "~1.0.4", 304 | "encodeurl": "~1.0.2", 305 | "escape-html": "~1.0.3", 306 | "etag": "~1.8.1", 307 | "fresh": "0.5.2", 308 | "http-errors": "~1.7.2", 309 | "mime": "1.6.0", 310 | "ms": "2.1.1", 311 | "on-finished": "~2.3.0", 312 | "range-parser": "~1.2.1", 313 | "statuses": "~1.5.0" 314 | }, 315 | "dependencies": { 316 | "ms": { 317 | "version": "2.1.1", 318 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 319 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 320 | } 321 | } 322 | }, 323 | "serve-static": { 324 | "version": "1.14.1", 325 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 326 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 327 | "requires": { 328 | "encodeurl": "~1.0.2", 329 | "escape-html": "~1.0.3", 330 | "parseurl": "~1.3.3", 331 | "send": "0.17.1" 332 | } 333 | }, 334 | "setprototypeof": { 335 | "version": "1.1.1", 336 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 337 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 338 | }, 339 | "statuses": { 340 | "version": "1.5.0", 341 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 342 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 343 | }, 344 | "toidentifier": { 345 | "version": "1.0.0", 346 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 347 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 348 | }, 349 | "type-is": { 350 | "version": "1.6.18", 351 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 352 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 353 | "requires": { 354 | "media-typer": "0.3.0", 355 | "mime-types": "~2.1.24" 356 | } 357 | }, 358 | "unpipe": { 359 | "version": "1.0.0", 360 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 361 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 362 | }, 363 | "utils-merge": { 364 | "version": "1.0.1", 365 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 366 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 367 | }, 368 | "vary": { 369 | "version": "1.1.2", 370 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 371 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 372 | } 373 | } 374 | } 375 | -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "server", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "express": "^4.17.1" 13 | } 14 | } 15 | --------------------------------------------------------------------------------