Skip to content

lauhemahfus/GoNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GoNote - Personal Note Taking Application

A modern, fast, and AI-powered note-taking application built with Go, Gin, PostgreSQL, Redis, and Google Gemini AI. Features a beautiful blue pastel UI theme and follows clean architecture principles.

Features

  • User Authentication - Secure JWT-based authentication system
  • CRUD Operations - Create, Read, Update, and Delete notes effortlessly
  • Redis Caching - Lightning-fast note retrieval with intelligent caching
  • AI-Powered Summaries - Generate instant summaries using Google Gemini 2.0 Flash
  • Lazy Loading - Efficient pagination for handling large note collections

Installation & Setup

1. Clone the Repository

git clone https://github.com/lauhemahfus/gonote.git
cd gonote

2. Set Up PostgreSQL Database

# Create database
createdb gonote
# Run migrations
psql -d gonote -f backend/migrations/001_init.sql

3. Set Up Redis

# Start Redis server
redis-server

4. Configure Environment Variables

# Copy the example environment file
cp .env.example .env
# Edit .env with your credentials

5. Install Go Dependencies

cd backend
# Download dependencies
go mod download
# Tidy up modules
go mod tidy

Or install manually:

go get github.com/gin-gonic/gin@v1.9.1
go get github.com/gin-contrib/cors@v1.4.0
go get github.com/go-redis/redis/v8@v8.11.5
go get github.com/golang-jwt/jwt/v4@v4.5.0
go get github.com/joho/godotenv@v1.5.1
go get github.com/lib/pq@v1.10.9
go get golang.org/x/crypto@v0.14.0

6. Run the Application

go run cmd/server/main.go

You should see:

Server starting on http://localhost:8080

7. Access the Application

Open your browser and visit:

http://localhost:8080

Screenshots

image image

About

A modern, fast, and AI-powered note-taking application built with Go, Gin, PostgreSQL, Redis, and Google Gemini AI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors