Express-SQLite Booking System is a simple project that implements a booking system using Express.js, TypeScript, and SQLite. It allows you to manage events, retrieve event details, create events, retrieve bookings for specific events, and create bookings while preventing race conditions.
- Event Management: Create and retrieve event details.
- Booking Management: Create bookings for events and retrieve bookings based on event.
- Race Condition Prevention: The booking system includes race condition prevention to ensure data consistency. Concurrent booking requests are handled in a way that prevents overbooking and ensures data integrity.
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js installed on your system.
-
Clone the repository:
git clone https://github.com/rizbud/express-sqlite-booking-system.git
-
Change your current directory to the project directory:
cd express-sqlite-booking-system
-
Copy the
.env.example
cp .env.example .env
-
Install the dependencies:
npm install
-
Run the project:
npm run dev
The project will be available at http://localhost:3000.
For the API endpoints, check out the API Endpoints documentation.
This project is licensed under the MIT License - see the LICENSE file for details.