Fa3liat is a web application platform for creating events, managing general-admission tickets.
- Backend: Node.js, Express.js
- Frontend: React.js
- Database: PostgreSQL, Prisma ORM
- Caching: Redis
- Authentication: JWT
.
├── src/
│ ├── app.js # Main Express app setup
│ ├── server.js # Server entery point
│ ├── controllers/ # Route controllers
│ ├── routes/ # API routes
│ ├── middlewares/ # Custom middlewares
│ ├── validations/ # Request validations
│ ├── services/ # Business logic
│ ├── utils/ # Helper functions
│ └── config/ # Configuration files
├── prisma/ # Prisma schema & migrations
│ ├── schema.prisma
│ └── migrations/
├── .env # Environment variables
├── .env.example # Example env template
├── package.json
├── package-lock.json
└── README.md
- Node.js
- PostgreSQL
- Redis (for caching)
- Mail service (for OTP / notifications)
- Clone the repository:
git clone https://github.com/muuhesham/graduation_project
cd fa3liat- Install dependencies:
npm install- Setup environment variables: Copy
.env.exampleto.envand fill in your values:
# EXAMPLE
PORT=3000
DATABASE_URL=postgresql://user:password@localhost:5432/fa3liat
JWT_SECRET=add-your-secret-key- Run database migrations:
npx prisma migrate dev- Generate prisma client:
npx prisma generate- Start the server:
npm run dev
# SERVER RUN ON: http://localhost:3000| Variable | Description |
|----------------|-----------------------------------------|
| PORT | Server port |
| DATABASE_URL | PostgreSQL connection string |
| JWT_SECRET | Secret key for JWT authentication |
| REDIS_URL | Redis server URL |
| MAIL_HOST | SMTP host for sending emails |
| MAIL_PORT | SMTP port |
| MAIL_USER | SMTP username |
| MAIL_PASS | SMTP password |
| FRONTEND_URL | Frontend base URL |
- Fork the repository
- Create a new branch:
feature/your-feature - Make your changes
- Submit a Pull Request
- Wait for your feature review - you may receive feedback via email
This project is licensed under the MIT License. See the LICENSE file for details.