A Final Year Project by Edema Oritsejeminetemi
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS v4 |
| Backend | Express 4, TypeScript, tsx |
| Database | SQLite (local) / PostgreSQL (production) |
| AI | Google Gemini 3 Flash |
| Deployment | Vercel (frontend) + Railway (backend + PostgreSQL) |
text-simplifier/
├── backend/ # Express API server
│ ├── server.ts # API routes + DB initialization
│ ├── db.ts # Database abstraction (SQLite/PostgreSQL)
│ ├── package.json
│ ├── tsconfig.json
│ ├── Procfile
│ └── .env.example
├── docs/ # Evaluation reports & compliance docs
├── src/ # React frontend
│ ├── components/ # UI components (Onboarding, Simplifier, Dashboard)
│ ├── services/ # Gemini AI integration
│ ├── config.ts # API URL configuration
│ ├── App.tsx # Root component + routing
│ └── main.tsx # Entry point
├── index.html # Vite HTML entry
├── vite.config.ts
├── vercel.json
├── package.json
└── README.md
- pnpm install
- cd backend && pnpm install
- cd backend && pnpm run dev
- pnpm run dev
- .env @(root) — VITE_API_URL, GEMINI_API_KEY
- .env @(backend) — DATABASE_URL, PORT, NODE_ENV
-
- Create Railway project
- Add PostgreSQL service → copy private networking URL
- Add backend service → root dir = /backend
- Set env vars: DATABASE_URL (private URL), NODE_ENV=production
- Build command: pnpm install, start command: pnpm start
-
- Connect GitHub repo
- Framework: Vite, build: pnpm install && pnpm run build, output: dist
- Set env vars: VITE_API_URL=https://your-backend.up.railway.app, GEMINI_API_KEY=...
- Deploy





