Welcome to the Astro Booking System! This project is designed to help users book any event (astronomical observation sessions in our case) easily and efficiently.
It was created by Dodorex-code, thevalleyy and Xanover as a project in computer science. The source code is licensed under the GNU General Public License v3.0
The Astro Booking System is a web-based application that allows users to book time slots for events. It is powered by Node.JS and the Next.JS framework. The data is stored in a local JSON file and can be managed through an admin panel. The application also sends email notifications to users when they book a slot.
- Fully customizable & configurable
- Booking without registration
- Email notifications for booking confirmations
- Admin panel for managing bookings
- WebSocket integration for real-time updates
To install the Astro Booking System, follow these steps:
- Clone the repository:
git clone https://github.com/thevalleyy/astro-booking-system.git
- Navigate to the project directory:
cd astro-booking-system
To start the application, run the following command:
npm run fullstart
The application will be available at http://localhost:3000
. The websocket server will be available at ws://localhost:8080
.
Note: These ports can be changed in the config.json
file.
Nearly every aspect of the Astro Booking System can be configured to suit your needs. The configuration file is located at config.json
. A complete list of configuration options can be found in the config.md file.
The application requires some configuration for email notifications and passwords. Update the passwords.json
file with your credentials:
Key | Description | Type | Default |
---|---|---|---|
websocketkey |
Key used to authenticate websocket messages | string |
"WebSocketKey" |
adminkey |
Key used to access the admin panel | string |
"AdminKey" |
confirmationEmail.host |
SMTP server host for sending emails | string |
"smtp.gmail.com" |
confirmationEmail.port |
Port for the SMTP server | number |
465 |
confirmationEmail.secure |
Whether the connection to the SMTP server is secure (SSL/TLS) | boolean |
true |
confirmationEmail.auth.user |
Email address used for SMTP authentication | string |
"email" |
confirmationEmail.auth.pass |
Password for the SMTP email account | string |
"pwd" |
We welcome contributions to the Astro Booking System! Please fork the repository and submit pull requests for any enhancements or bug fixes.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.