Ticketing is a microservice application that allows users to register, log in, and log out using a ticketing system. It utilizes the following technologies and frameworks:
- Kubernetes: Container orchestration platform for deploying and managing the application.
- Docker: Container platform for packaging and distributing the application.
- Skaffold: Tool for automating the development workflow, including building, pushing, and deploying the application.
- TypeScript: Programming language for the application.
- React: JavaScript library for building user interfaces.
- Mongoose: Object Data Modeling (ODM) library for MongoDB and Node.js.
- JSON Web Tokens (JWT): An open standard for securely transmitting information between parties as a JSON object.
- Cookie-session: Middleware for Express that stores session data in cookies.
- Express: Web application framework for Node.js.
The auth
microservice is responsible for handling user registration, login, and logout functionality. It uses jsonwebtoken
and cookie-session
to manage user authentication and authorization.
The client
microservice displays the simplest window view for interacting with the authentication microservice.
To run the tests for the auth
microservice, use the following command:
npm run test
To deploy the application using Skaffold, run the following command:
skaffold dev
This will build the Docker images, push them to a Docker registry, and deploy the application to the Kubernetes cluster.
The following testing frameworks are used in the project:
- Supertest: For testing the HTTP API.
- Jest: JavaScript testing framework.
- ts-jest: TypeScript preprocessor for Jest.
If you would like to contribute to the Ticketing project, please follow the standard GitHub workflow:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Create a new pull request.
We welcome all contributions and appreciate your help in improving the Ticketing application.