Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kshiti-24/notes-website
This web application allows users to create, manage, and organize their notes efficiently. It uses modern web technologies and integrates Google OAuth for user authentication.
https://github.com/kshiti-24/notes-website
ejs expressjs googleoauth mongodb nodejs passport
Last synced: 25 days ago
JSON representation
This web application allows users to create, manage, and organize their notes efficiently. It uses modern web technologies and integrates Google OAuth for user authentication.
- Host: GitHub
- URL: https://github.com/kshiti-24/notes-website
- Owner: Kshiti-24
- Created: 2024-07-22T14:29:18.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-22T16:57:17.000Z (4 months ago)
- Last Synced: 2024-09-28T07:21:02.422Z (about 1 month ago)
- Topics: ejs, expressjs, googleoauth, mongodb, nodejs, passport
- Language: EJS
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Notes-Website
Welcome to the Notes-Website project! This web application allows users to create, manage, and organize their notes efficiently. It uses modern web technologies and integrates Google OAuth for user authentication.
## Screenshots
### First Page
![2024-07-22 (5)](https://github.com/user-attachments/assets/4b640cb1-e62b-4a7f-8b7e-1a51dc208c63)
### Home Page
![2024-07-22 (6)](https://github.com/user-attachments/assets/e4931a7e-ea74-41ca-857f-16f94163b13a)
### Add Post
![2024-07-22 (9)](https://github.com/user-attachments/assets/cb8afd9e-4362-4363-abb0-e964fccdfe0c)
### Update Post
![2024-07-22 (7)](https://github.com/user-attachments/assets/7af76d5f-ecca-47a9-b34e-0d4e738caa1b)
### Delete Post
![2024-07-22 (8)](https://github.com/user-attachments/assets/3d9d1751-7004-4ceb-9006-7e09ae49d7c8)
## Features:
- **Register/Login**: Users can sign up or log in using their Google account.
- **Add Note**: Users can create new notes.
- **View Notes**: Users can view all their saved notes.
- **Update Note**: Users can edit their existing notes.
- **Delete Note**: Users can delete notes they no longer need.
- **Search Notes**: Users can search through their notes.
- **Logout**: Users can log out of their account.
- **OAuth Integration**: Secure and easy login with Google OAuth 2.0.### Technologies Used:
- **Node.js**: JavaScript runtime built on Chrome's V8 JavaScript engine.
- **Express.js**: A fast, unopinionated, minimalist web framework for Node.js.
- **MongoDB**: NoSQL database for storing notes.
- **Mongoose**: MongoDB object modeling tool.
- **EJS**: Embedded JavaScript templating.
- **Passport**: Authentication middleware for Node.js.
- **Google OAuth 2.0**: For secure user authentication.## You need:
- Database (MongoDB)
- Google Console Account to create the API Auth Key's## Create .env file
Create a .env file to store your credentials. Example below:
```
MONGODB_URI = mongodb+srv://:@mongodburlhere
GOOGLE_CLIENT_ID= YOUR_GOOGLE_ID_HERE
GOOGLE_CLIENT_SECRET= YOUR_GOOGLE_CLIENT_SECRET_HERE
GOOGLE_CALLBACK_URL=http://localhost:3000/google/callback
```### Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/notes-website.git
cd notes-website
```2. Install dependencies:
```bash
npm install
```3. Start the server:
```bash
npm start
```4. Open your browser and navigate to:
```
http://localhost:3000
```