Welcome to the ThinkPad repository! This is a full-stack note-taking application built using the MERN stack: MongoDB, Express, React, and Node.js. Users can easily create, read, update, and delete notes with titles and descriptions.
- Create Notes: Users can add new notes with a title and description.
- Read Notes: View all notes in a user-friendly interface.
- Update Notes: Edit existing notes to keep information current.
- Delete Notes: Remove notes that are no longer needed.
- User Authentication: Secure access with user login and registration.
- Responsive Design: Works on various devices, including desktops and mobiles.
- MongoDB: A NoSQL database for storing notes.
- Express.js: A web application framework for Node.js.
- React.js: A JavaScript library for building user interfaces.
- Node.js: A JavaScript runtime for server-side programming.
- Postman: For testing API endpoints.
- Redis: For caching and optimizing performance.
- Rate Limiting: To control the number of requests a user can make.
- Upstash: A serverless database solution.
To get started with the ThinkPad application, follow these steps:
Make sure you have the following installed:
- Node.js
- npm (Node Package Manager)
- MongoDB
- Redis (optional for caching)
Clone the repository to your local machine using the following command:
git clone https://github.com/Lucas7680/Thinkpad.git
Navigate to the project directory and install the necessary dependencies:
cd Thinkpad
npm install
Create a .env
file in the root directory and add the following variables:
MONGODB_URI=your_mongodb_connection_string
REDIS_URL=your_redis_connection_string (optional)
JWT_SECRET=your_jwt_secret
Start the server with the following command:
npm start
Open your browser and go to http://localhost:5000
to view the application.
The ThinkPad API allows you to interact with the application programmatically. Here are the main endpoints:
- GET /api/notes: Retrieve all notes.
- POST /api/notes: Create a new note.
- PUT /api/notes/:id: Update a note by ID.
- DELETE /api/notes/:id: Delete a note by ID.
- POST /api/users/register: Register a new user.
- POST /api/users/login: Log in an existing user.
Once the application is running, you can:
- Register a new account or log in.
- Create notes by filling in the title and description.
- View your notes on the main page.
- Edit or delete notes as needed.
For testing the API, you can use Postman to send requests to the endpoints mentioned above.
Contributions are welcome! If you would like to contribute to the ThinkPad project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
Please ensure your code follows the project's coding standards and includes tests where applicable.
This project is licensed under the MIT License. See the LICENSE file for details.
To download the latest release of ThinkPad, visit Releases.
For further information about the project and its updates, check the Releases section.
Feel free to explore the code and contribute to making ThinkPad even better!