Skip to content

rushdv/muhasabah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

130 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Muhasabah

An Islamic personal hub for spiritual tracking, Ramadan planning, and self-accountability.

Project Structure

muhasabah/
β”œβ”€β”€ src/                    # Frontend source (React + Vite)
β”‚   β”œβ”€β”€ api/                # API client functions
β”‚   β”œβ”€β”€ assets/             # Static assets
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”œβ”€β”€ context/            # React context providers
β”‚   β”œβ”€β”€ pages/              # Page components
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ main.jsx
β”‚   β”œβ”€β”€ index.css
β”‚   └── translations.js
β”œβ”€β”€ public/                 # Static public files
β”œβ”€β”€ server/                 # Backend source (Node.js + Express + TypeScript)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ auth/           # JWT & auth helpers
β”‚   β”‚   β”œβ”€β”€ config/         # App configuration
β”‚   β”‚   β”œβ”€β”€ data/           # Static Ramadan content
β”‚   β”‚   β”œβ”€β”€ db/             # Database connection & init
β”‚   β”‚   β”œβ”€β”€ routes/         # Express route handlers
β”‚   β”‚   β”œβ”€β”€ types/          # TypeScript type declarations
β”‚   β”‚   β”œβ”€β”€ app.ts          # Express app setup
β”‚   β”‚   β”œβ”€β”€ server.ts       # Vercel serverless export
β”‚   β”‚   └── dev.ts          # Local dev server entry
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── index.ts        # Vercel serverless entry
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ tsconfig.json
β”‚   └── vercel.json
β”œβ”€β”€ index.html
β”œβ”€β”€ package.json            # Frontend dependencies
β”œβ”€β”€ vite.config.js
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ eslint.config.js
β”œβ”€β”€ .env.example
└── .gitignore

Getting Started

Frontend

# Install dependencies
npm install

# Start dev server (proxies /api to backend)
npm run dev

# Build for production
npm run build

Backend

cd server

# Install dependencies
npm install

# Copy env file and fill in values
cp .env.example .env

# Start dev server
npm run dev

Environment Variables

Frontend (.env)

VITE_API_URL=http://localhost:3000
VITE_GOOGLE_CLIENT_ID=your-google-client-id

Backend (server/.env)

DATABASE_URL=postgresql://...
SECRET_KEY=your-secret-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
PORT=3000
NODE_ENV=development

Tech Stack

Frontend: React 19, Vite, Tailwind CSS v4, React Router, Axios
Backend: Node.js, Express, TypeScript, PostgreSQL (Neon), JWT, Better Auth
Deployment: Vercel (both frontend and backend)

About

πŸŒ™ Muhasabah is a faith-centered self-reflection and habit tracking platform inspired by the concept of daily accountability in Islam.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors