{"id":15048689,"url":"https://github.com/overloadedsam/notes-taker-app-assignment","last_synced_at":"2026-03-16T08:35:21.004Z","repository":{"id":216846727,"uuid":"742425598","full_name":"OverloadedSam/notes-taker-app-assignment","owner":"OverloadedSam","description":"A note taking web app developed using MERN stack","archived":false,"fork":false,"pushed_at":"2024-01-13T16:05:35.000Z","size":162,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T23:22:07.617Z","etag":null,"topics":["expressjs","jwt","markdown-editor","mognodb","nodejs","reactjs","typescript"],"latest_commit_sha":null,"homepage":"https://notetakerapp-50t3.onrender.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OverloadedSam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-12T12:59:34.000Z","updated_at":"2024-01-13T16:04:35.000Z","dependencies_parsed_at":"2024-01-13T22:54:23.420Z","dependency_job_id":null,"html_url":"https://github.com/OverloadedSam/notes-taker-app-assignment","commit_stats":null,"previous_names":["overloadedsam/notes-taking-app-assignment","overloadedsam/notes-taker-app-assignment"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Fnotes-taker-app-assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Fnotes-taker-app-assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Fnotes-taker-app-assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Fnotes-taker-app-assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OverloadedSam","download_url":"https://codeload.github.com/OverloadedSam/notes-taker-app-assignment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243495376,"owners_count":20299924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","jwt","markdown-editor","mognodb","nodejs","reactjs","typescript"],"created_at":"2024-09-24T21:15:21.907Z","updated_at":"2025-12-28T09:12:58.112Z","avatar_url":"https://github.com/OverloadedSam.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notes Taker\n\nWelcome to Notes Taker, the seamlessly intuitive and feature-rich application designed to elevate your note-taking experience. Whether you're a student, professional, or creative mind, Notes Taker is your go-to solution for capturing ideas, staying organized, and unlocking your productivity potential. This project uses `ReactJS` as frontend, `NodeJS` as backend framework and `MongoDB` as the database.\n\n## Requirements\n\n- `node \u003e= 20.0.0`\n- `npm \u003e= 10.2.3`\n- `MongodDB (remote or local)`\n\n## Usage\n  1. Clone the repository\n\n    $ git clone https://github.com/OverloadedSam/notes-taker-app-assignment.git\n\n  2. Navigate to the locations below and execute the command npm install.\n\n    $ cd notes-taker-app-assignment/client/\n    $ cd notes-taker-app-assignment/server\n\n  3. Install project dependencies (For both client and server).\n\n    $ npm install\n\n## Configure App\nPrior to starting the app (client and server), ensure that you configure the necessary environment variables.\n\n### 1. Environment variables for server\nCreate a `.env` file at `notes-taker-app-assignment/server/` directory and set the following environment variables.\n\n    PORT=\"8000\"\n    DB_CONNECTION_URI=\"Your mongodb database connection string\"\n    SALT=\"10\"\n    ACCESS_TOKEN_SECRET=\"Secret for token. Set a value to random long string\"\n\n### 2. Environment variables for client\nCreate a `.env` file at `notes-taker-app-assignment/client/` directory and set the following environment variables.\n\n    VITE_BASE_API_URL=\"Set this to the backend url\" // e.g: http://localhost:8000/api\n\n\n## Running The Project For Development\n### Run server (Node API) (PORT: 8000)\n\n    $ cd server/ // go to server directory\n    $ npm run dev // run backend with hot reloading.\n    // or you can run the backend with ts-node\n    $ ts-node src/server.ts\n\n### Run client (Vite + React app) (PORT: 3000)\n\n    $ cd client/ //go to client directory\n    $ npm run dev\n\n## Building For Production\nBefore initiating the production build, ensure that you have correctly configured the URLs for the client and server environment variables.\n\n### Build Client\nNavigate to the `notes-taker-app-assignment/client/` directory and run the following command to build the client.\n\n    $ npm run build\n\nAfter a successful build process, you'll find the built code within the `notes-taker-app-assignment/client/dist/` directory.\n\n### Build Server\nNavigate to the `notes-taker-app-assignment/server/` directory and run the following command to build the client.\n\n    $ npm run build\n\nAfter a successful build process, you'll find the built code within the `notes-taker-app-assignment/server/dist/` directory.\n\n## Deploy to Render\nWhile this project is compatible with various platforms such as AWS, GCP, or Heroku, we have chosen to deploy it on Render due to its user-friendly interface and cost-free nature\n\n1. Sign up for a Render account at [Render](https://render.com/).\n2. To deploy the server, create a new web service by navigating to `New \u003e Web Service` in the menu.\n3. For deploying the client, create a new static site by navigating to `New \u003e Static Site` in the menu.\n\n## Dependencies (Tech Stack)\n\n| Client Side Dependencies       | Server Side Dependencies      |\n| ------------------------------ | ------------------------------ |\n| @emotion/react: ^11.11.3       | bcrypt: ^5.1.1                |\n| @emotion/styled: ^11.11.0       | cors: ^2.8.5                   |\n| @hookform/resolvers: ^3.3.4     | dotenv: ^16.3.1                |\n| @mui/icons-material: ^5.15.4    | express: ^4.18.2               |\n| @mui/lab: ^5.0.0-alpha.160      | helmet: ^7.1.0                 |\n| @mui/material: ^5.15.4          | jsonwebtoken: ^9.0.2           |\n| @reduxjs/toolkit: ^2.0.1        | mongoose: ^8.0.4               |\n| react: ^18.2.0                 | morgan: ^1.10.0                |\n| react-dom: ^18.2.0              | yup: ^1.3.3                    |\n| react-hook-form: ^7.49.3        |                               |\n| react-hot-toast: ^2.4.1         |                               |\n| react-markdown: ^9.0.1          |                               |\n| react-redux: ^9.0.4             |                               |\n| react-router-dom: ^6.21.2       |                               |\n| react-simplemde-editor: ^5.2.0  |                               |\n| yup: ^1.3.3                     |                               |\n\n| Client Side Dev Dependencies   | Server Side Dev Dependencies   |\n| ------------------------------ | ------------------------------ |\n| @types/node: ^20.11.0          | @types/bcrypt: ^5.0.2          |\n| @types/react: ^18.2.43          | @types/cors: ^2.8.17            |\n| @types/react-dom: ^18.2.17      | @types/express: ^4.17.21        |\n| @typescript-eslint/eslint-plugin: ^6.14.0 | @types/jsonwebtoken: ^9.0.5    |\n| @typescript-eslint/parser: ^6.14.0 | @types/morgan: ^1.9.9          |\n| @vitejs/plugin-react: ^4.2.1    | @types/node: ^20.11.0           |\n| eslint: ^8.55.0                | nodemon: ^3.0.2                |\n| eslint-plugin-react-hooks: ^4.6.0 | ts-node: ^10.9.2               |\n| eslint-plugin-react-refresh: ^0.4.5 | typescript: ^5.3.3            |\n| typescript: ^5.2.2              | typescript: ^5.3.3             |\n| vite: ^5.0.8                   |                               |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverloadedsam%2Fnotes-taker-app-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foverloadedsam%2Fnotes-taker-app-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverloadedsam%2Fnotes-taker-app-assignment/lists"}