A Full-Stack Web Application built collaboratively using modern frontend and backend technologies.
Designed with a scalable folder structure and clean architecture principles.
| Role | Contributor |
|---|---|
| Frontend Developer | Wajiha Zehra |
| Backend Developer | Rehan |
This project was developed using a structured Git workflow with feature branches and pull requests.
- Client: React Single Page Application (Vite)
- Server: RESTful API (Node.js/Express)
- Database: PostgreSQL
- Authentication: JWT
The application follows separation of concerns:
- Frontend handles UI & API integration
- Backend handles business logic & database operations
Medify-WebApp/
│
├── public/
├── src/
│ ├── components/
│ ├── pages/
│ ├── context/
│ ├── utils/
│ ├── App.jsx
│ └── api.js
├── package.json
├── vite.config.js
│
├── server/ # Backend (Node/Express)
│ ├── controllers/
│ ├── routes/
│ ├── middleware/
│ ├── db.js
│ ├── server.js
│ ├── package.json
│ └── .env
│
├── .gitignore
└── README.md
- React
- JavaScript (ES6+)
- TailwindCSS / Vanilla CSS
- Vite
- Node.js
- Express.js
- PostgreSQL
- PostgreSQL Node Client (
pg)
- JWT Auth
- Bcrypt Password Hashing
- User registration & login
- Role-based Dashboard (Consumer, Pharmacist, SuperAdmin)
- Database schema integrated via PostgreSQL
- AI Chat Support (Google Gemini API)
- Protected API routes
- Responsive UI
- Error handling & validation
- Designed and structured frontend architecture
- Built reusable UI components
- Integrated REST APIs for user auth and data
- Implemented state management using Context API
- Created responsive layouts
- Organized modular folder structure
- Designed PostgreSQL database schema
- Built REST API endpoints
- Implemented Google Gemini AI Chat API
- Set up JWT authentication logic
- Created middleware for routing & validation
- Handled server-side error management
- Feature-based branches
- Pull requests for merging
- Structured commit messages
Example commit format:
feat(frontend): implement dashboard UI
fix(api): resolve token validation issue
refactor(server): reorganize route structure
git clone https://github.com/wajihacodeofficial/Medify-WebApp.gitcd Medify-WebApp/server
npm install
npm startBackend runs on: http://localhost:5000
cd Medify-WebApp
npm install
npm run devFrontend runs on: http://localhost:5173
Create a .env file in the server folder:
PORT=5000
DATABASE_URL=your_postgresql_database_url
GEMINI_API_KEY=your_gemini_api_key
JWT_SECRET=your_jwt_secret_key
To login to predefined roles, use the following:
- Consumer:
sarah@medify.org| Password:Customer@2024 - Pharmacist:
dromar@medify.org| Password:Pharma@2024 - SuperAdmin:
admin@medify.org| Password:SuperAdmin@2024
(Add application screenshots here)
Frontend: (Vercel / Netlify / etc.)
Backend: (Render / Railway / etc.)
Database: (PostgreSQL on Supabase / Render / etc.)
Live Demo: [Add Link Here]
- Full-stack project architecture
- Frontend-backend integration
- Node.js + PostgreSQL integration
- Git collaboration workflow
- Add comprehensive unit testing
- Improve performance optimization
- Enhance UI design system
This project is for educational and portfolio purposes.