https://github.com/briso10-dev/software-testing
A Complete guide towards learning and practicing software testing of RestApis
https://github.com/briso10-dev/software-testing
mongodb nodejs prisma rest-api software-testing supertest typescript vite vitest
Last synced: 3 months ago
JSON representation
A Complete guide towards learning and practicing software testing of RestApis
- Host: GitHub
- URL: https://github.com/briso10-dev/software-testing
- Owner: Briso10-dev
- License: mit
- Created: 2024-04-24T15:26:58.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-19T22:36:49.000Z (3 months ago)
- Last Synced: 2025-03-19T23:28:32.576Z (3 months ago)
- Topics: mongodb, nodejs, prisma, rest-api, software-testing, supertest, typescript, vite, vitest
- Language: TypeScript
- Homepage:
- Size: 39.8 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# REST API User Management with Integration Testing
A demonstration project showcasing REST API development with comprehensive integration testing, built using modern TypeScript and Express.js. This project serves as a practical example of implementing software testing practices in a REST API context.
## ๐ Features
- User management REST API endpoints
- Integration testing setup with Vitest
- MongoDB database integration via Prisma
- Docker support for containerization
- TypeScript for type-safe development
- Express.js for robust API development## ๐ ๏ธ Tech Stack
| Category | Technologies |
|----------|-------------|
| Backend |    |
| Database |   |
| Testing |   |
| DevOps |  |## ๐ฆ Installation
1. Clone the repository:
```bash
git clone
cd Software-Testing
```2. Install dependencies:
```bash
yarn install
```3. Set up environment variables:
```bash
cp .env.example .env
# Edit .env with your configuration
```4. Generate Prisma client:
```bash
yarn generate
```5. Push database schema:
```bash
yarn push
```## ๐โโ๏ธ Running the Application
### Development Mode
```bash
yarn dev
```### Production Mode
```bash
yarn build
yarn start
```### Running Tests
```bash
# Run tests
yarn test# Run tests with coverage
yarn test:coverage
```### Using Docker
```bash
# Build and run with Docker Compose
docker-compose up --build
```## ๐งช Testing Strategy
This project implements integration testing to ensure the reliability of the API endpoints. The tests cover:
- User management operations (CRUD)
- Request validation
- Error handling
- Database interactions## ๐ API Documentation
### Endpoints
- `GET /users` - Retrieve all users
- `POST /users` - Create a new user
- `GET /users/:id` - Retrieve a specific user
- `PUT /users/:id` - Update a user
- `DELETE /users/:id` - Delete a userDetailed API documentation can be found in the [API Documentation](./docs/API.md) file.
## ๐ License
This project is licensed under the MIT License. See the LICENSE file for details.
## ๐ค Author
**Seraphin Brice Koua** ([@Briso10-dev](https://github.com/Briso10-dev))
## ๐ค Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/yourusername/your-repo/issues).
## โญ๏ธ Show your support
Give a โญ๏ธ if this project helped you!