A modern, TypeScript-based REST API built with Express.js, featuring Swagger documentation, automated testing, and Docker support.
- 🚀 Built with Express.js and TypeScript
- 📚 Swagger/OpenAPI documentation
- 🛡️ Security features with Helmet
- 📝 Logging with Winston
- ⏰ Scheduled tasks with node-cron
- 📅 Date handling with Luxon
- 🐳 Docker support
- 🧪 Testing with Vitest
- ✨ Code formatting with Prettier
- 🔍 Linting with ESLint
- 🐶 Git hooks with Husky
- Node.js >= 16.0.0
- Yarn (recommended) or npm
- Docker (optional)
- Clone the repository:
git clone https://github.com/fadihanna123/api.git
cd api- Install dependencies:
yarn installStart the development server:
yarn devThe API will be available at http://localhost:5000
yarn dev- Start development serveryarn start- Start production serveryarn build- Build the applicationyarn test- Run testsyarn lint- Run linteryarn format- Format codeyarn type-check- Type checkingyarn ci- Run CI checks (build, lint, test)
Build and run with Docker:
docker-compose upOnce the server is running, access the Swagger documentation at:
https://localhost:5000/api-docs
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Fadi Hanna - GitHub