Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

106 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌧️ Yağmuş App πŸ’œ

A private space for two β€” share one note a day and keep your hearts in sync.
React + Node.js + PostgreSQL + Railway

Built With Deployed on License


πŸ’‘ About

Yağmuş App is a minimalist, two-user web application built to strengthen communication through daily notes.
Each user can post only one note per day.
If both users share a note on the same day, the daily streak continues β€” symbolizing emotional consistency over time πŸ’«


🧠 How It Works

  • Only two private accounts exist.
  • Each user may post one note per day.
  • When both users post on the same day, the streak increases by +1.
  • The dashboard displays:
    • Current and best streak counts
    • Recent notes from both users
    • β€œLeave a Note” input area
    • Partner username

βš™οΈ Tech Stack

Layer Technology Description
🎨 Frontend React (CRA) + Axios + CSS Responsive UI, API communication
βš™οΈ Backend Node.js + Express REST API + business logic
πŸ—„οΈ Database PostgreSQL / SQLite (via Railway) Stores notes and user info
πŸ” Auth JWT (JSON Web Token) Secure login / session handling
☁️ Hosting Railway Full-stack deployment (frontend + backend)

🎨 Frontend Highlights

  • Responsive Design: Optimized for mobile, tablet, and desktop
  • Minimal UI: Soft purple tones #667eea, rounded cards, clean spacing
  • Features:
    • Dashboard (streak + recent notes)
    • Login / Register pages
    • PWA support (installable app, custom icons, manifest)
  • Friendly Messages:
    If a user tries to post a second note, a soft alert appears:

    β€œYou’ve already shared your note today πŸ’Œ It’s saved in their heart πŸ’œβ€


πŸ”’ Backend Highlights

  • Express.js REST API with modular structure
  • JWT authentication middleware
  • One-note-per-day rule enforced with status 409
  • UTF-8 support (emojis πŸ’œπŸ”₯🌸 handled safely)
  • CORS restricted to approved domains
  • Optional React build serving for full-stack hosting

πŸ—„οΈ API Endpoints

Method Endpoint Description
GET /api/health API status ({"ok":true})
POST /api/register Register a new user
POST /api/login Authenticate and return JWT token
GET /api/notes List all notes
POST /api/notes Add a note (JWT required, 1 per day)

πŸš€ Deployment

Frontend β†’ https://yagmusapp.up.railway.app
Backend β†’ https://yagmusappv100-backend-production.up.railway.app

Frontend Build Settings

Root Directory: /frontend
Publish Directory: build
Start Command: npx serve -s build -l $PORT

πŸ’» Local Setup

1. Clone git clone https://github.com/UmutOZCN/YagmusAppV1.0.0.git

2. Install backend dependencies cd backend npm install

3. Install frontend dependencies cd ../frontend npm install

4. Run backend npm start

5. Run frontend cd ../frontend npm start

🟒 Backend β†’ http://localhost:3001 🟣 Frontend β†’ http://localhost:3000


πŸ’œ Example Dashboard

[Daily Streak: 127 πŸ”₯]

Both of you shared your notes today β€” the streak continues πŸ’Œ
--------------------------------------------------------------
You: β€œThe weather was perfect today πŸ’œβ€
Partner: β€œI thought the same β˜€οΈβ€

πŸ“Έ Screenshots

🟣 Mobile View

AppDashboard
Dashboard
AppLogin
Login
AppLogo
Logo
AppAlert
Alert


πŸ–₯️ Desktop View

WebLogin
Login

WebDashboard
Dashboard


πŸ‘€ Developer

Name: Umut Γ–zcan
Version: 1.0.0
Description:
A minimalist web application designed to connect two people through daily notes.
Technically solid β€” emotionally genuine πŸ’œ


πŸ“œ License

This project is licensed under the MIT License. This project was created for personal use only.
Redistribution or commercial use is not permitted without permission.


Made with πŸ’œ by Umut Γ–zcan
β€œOne note a day keeps the distance away.”

About

A minimalist full-stack app built with React + Node.js + PostgreSQL, designed for two people to share one note per day and keep their daily streak alive πŸ’œ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages