047pegasus / NotlyBackendAssignment

A simple Note taking app with NodeJS, Typescript and MongoDB.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NotlyBackendAssignment
Notly Backend

β—¦ A Note Taking Application's Backend written in Typescript πŸš€

NodeJS Typescript Express JS MongoDB

GitHub license git-last-commit GitHub commit activity GitHub top language


πŸ“– Table of Contents


πŸ“ Overview

Notly's backend is a simple to use note taking application's CRUD support backend, all written in Typescript NodeJS and with the help of a NoSQL DB (here Mongo DB).


πŸ“‚ Repository Structure

└── NotlyBackendAssignment/
    β”œβ”€β”€ .gitignore
    β”œβ”€β”€ README.md
    β”œβ”€β”€ package-lock.json
    β”œβ”€β”€ package.json
    β”œβ”€β”€ tsconfig.json
    └── src/
        β”œβ”€β”€ controllers/
        β”œβ”€β”€ models/
        β”œβ”€β”€ routes/
        β”œβ”€β”€ utils/
        β”œβ”€β”€ index.ts

πŸš€ Getting Started & πŸ”§ Installation

Clone the repository with the follwoing command.

git clone https://github.com/047pegasus/NotlyBackendAssignment

Firstly install all dependencies to run the dev environment correctly.

npm install --save-dev
# or
yarn install
# or
pnpm install
# or
bun install

Make sure that the local MongoDB instance is healthy and running before-hand itself on port 27017 (default Mongo Port) or make adjustments respectively in src/index.ts file.

Then run the project with the following command arrays to complie and run the project successfully:

npx tsc
npm run dev

Open http://localhost:7777 with your browser to see the result.

You can start editing the page by modifying src/index.ts. The page wont auto-updates as you edit the file, instead you need to hot reload it with something like Nodemon or simple kill and restart the server.

πŸ›£ Roadmap

  • ℹ️ Task 1: Implement user authentication and authorization using JWT.
  • ℹ️ Task 2: Add functionality for rate limiting of endpoints.
  • ℹ️ Task 3: Enhance the sub-operations in the API as well as the Backend to offer more categories in storing the note in HTML format specifically.

🀝 Contributing

Contributions are always welcome! Please follow these steps:

  1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
  2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
  3. Create a new branch with a descriptive name (e.g., new-feature-branch or bugfix-issue-123).
git checkout -b new-feature-branch
  1. Make changes to the project's codebase.
  2. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
  1. Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
  1. Create a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.

πŸ“„ License

This project is licensed under the ℹ️ LICENSE-TYPE License. See the LICENSE-Type file for additional info.


πŸ‘ Acknowledgments

- ℹ️ https://www.mongodb.com/ - ℹ️ https://www.mongodb.com/try/download/community - ℹ️ https://www.mongodb.com/try/download/compass - ℹ️ https://www.mongodb.com/try/download/shell


About

A simple Note taking app with NodeJS, Typescript and MongoDB.


Languages

Language:TypeScript 100.0%