Skip to content

devang-kumawat/NoteTakingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸ“ NoteTakingApp

A full-stack note-taking application built with React (Frontend) and Flask + SQLAlchemy (Backend), deployed on Render using GitHub Actions CI/CD.


πŸ”— Live Demo

⚠️ The backend may take 30–50 seconds to wake up on Render free tier.


πŸ—οΈ Tech Stack

Layer Technology
Frontend React, Axios, Lodash
Backend Flask, SQLAlchemy, CORS
Database SQLite
CI/CD GitHub Actions
Hosting Render (Docker-based)

πŸ“ Folder Structure

NoteTakingApp/
β”‚
β”œβ”€β”€ .github/workflows/        # CI/CD pipeline
β”œβ”€β”€ backend/                  # Flask API + DB models
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ extensions.py
β”‚   └── app.py
β”‚
β”œβ”€β”€ src/                      # React frontend source
β”‚   β”œβ”€β”€ Components/
β”‚   β”œβ”€β”€ App.js
β”‚   β”œβ”€β”€ index.js
β”‚   └── api.js                # BASE_URL config
β”‚
β”œβ”€β”€ Dockerfile                # Multi-stage React build
β”œβ”€β”€ docker-compose.yml        # For dev environment
β”œβ”€β”€ .dockerignore
└── README.md                 # This file

βš™οΈ Local Development

πŸ”§ Backend (Flask)

cd backend
python -m venv venv
venv\Scripts\activate  # On Windows
# or
source venv/bin/activate  # On macOS/Linux

pip install -r requirements.txt
flask run

πŸ’» Frontend (React)

cd src
npm install
npm start

πŸš€ Deployment (CI/CD with GitHub Actions)

Every push to the main branch automatically triggers deployment via Render:

name: Deploy to Render

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Trigger Render Deploy (Backend)
        run: |
          curl -X POST "https://api.render.com/deploy/srv-d1cp1lmmcj7s73b71ld0?key=${{ secrets.RENDER_API_KEY }}"

      - name: Trigger Render Deploy (Frontend)
        run: |
          curl -X POST "https://api.render.com/deploy/srv-d1cop3mmcj7s73b6og7g?key=${{ secrets.RENDER_API_KEY }}"

🎯 Future Improvements

  • Add user authentication (JWT)
  • Migrate to PostgreSQL for production database
  • Enable persistent disk or cloud storage (e.g., AWS S3)
  • Add features like tagging, rich text editing, and pinning notes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published