Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

28 Commits

Repository files navigation

Notes App

A modern, full-stack note-taking application that enables users to create, manage, and share notes efficiently using MDX format. Built with Next.js, Node.js, and PostgreSQL.

🚀 Live Demo

Live Application

✨ Features

  • 📝 Rich MDX Editing: Create and edit notes with full Markdown syntax and embedded React components
  • 🔒 Secure Authentication: JWT-based authentication with refresh token rotation
  • 🤝 Note Sharing: Share notes with specific users or make them public
  • 💫 Auto-save: Never lose your work with automatic saving
  • 👥 Multi-device Support: Access your notes from any device with session management

🛠️ Tech Stack

  • Frontend: Next.js, TailwindCSS
  • Backend: Node.js, Express
  • Database: PostgreSQL
  • Authentication: JWT (Access + Refresh Tokens)
  • Content: MDX (Markdown + JSX)

🚀 Getting Started

Prerequisites

  • Docker and Docker Compose
  • Git

Installation

  1. Clone the repository
git clone https://github.com/coderdal/notes-app
cd notes-app
  1. Set up environment variables:

    • Copy .env.example to .env
    • Fill in the required environment variables
  2. Start the application using Docker Compose:

docker compose up

This will start all services:

To stop the application:

docker compose down

To rebuild the containers after making changes:

docker compose up --build

📝 Environment Variables

Create a .env file in the root directory with the following variables:

# PostgreSQLPGUSER=# PostgreSQL usernamePGPASSWORD=# PostgreSQL passwordPGDATABASE=# PostgreSQL database namePGHOST=# PostgreSQL hostPGPORT=# PostgreSQL port# pgAdminPGADMIN_USER=# pgAdmin email addressPGADMIN_PASSWORD=# pgAdmin passwordPGADMIN_PORT=# pgAdmin port (e.g., 5050)# APIAPI_PORT=# API server portFRONTEND_URL=# Frontend URL for CORSACCESS_TOKEN_SECRET=# JWT access token secretREFRESH_TOKEN_SECRET=# JWT refresh token secretHASH_SECRET_KEY=# Password hashing secret# FrontendNEXT_PUBLIC_API_URL=# Backend API URLFRONTEND_PORT=# Frontend port

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact

For support, email contact@erdal.net.tr or open an issue in the GitHub repository.

About

A modern note-taking application that enables users to create, manage, and share notes efficiently using MDX format. Built with Next.js, Node.js, and PostgreSQL.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages