Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibrahimhabibeg/stadium-go-server
The server for a stadium booking mobile app.
https://github.com/ibrahimhabibeg/stadium-go-server
authentication booking crud graphql mysql node prisma typescript
Last synced: 17 days ago
JSON representation
The server for a stadium booking mobile app.
- Host: GitHub
- URL: https://github.com/ibrahimhabibeg/stadium-go-server
- Owner: ibrahimhabibeg
- Created: 2023-05-25T14:30:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-24T19:02:46.000Z (about 1 year ago)
- Last Synced: 2024-11-05T00:42:18.621Z (2 months ago)
- Topics: authentication, booking, crud, graphql, mysql, node, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 801 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## ๐ Table of Contents
- [Overview](#๐ญ-overview)
- [Technologies](#๐งโ๐ป-technologies)
- [Features](#โญ-features)
- [Getting Started](#๐-getting-started)
- [API Documentation](#๐-api-documentation)
- [Contributing](#โ-contributing)
- [Contact](#๐ค-contact)
- [Acknowledgements](#๐-acknowledgements)## ๐ญ Overview
This repository contains the server-side code for a stadium booking application: Stadium Go. It provides a robust backend for managing user authentication, stadium data, bookings, and GraphQL API for seamless integration with the mobile app.
## ๐งโ๐ป Technologies
- Node.js
- TypeScript
- MySQL
- Prisma
- Apollo Server
- JSON Web Tokens (JWT)## โญ Features
- Authentication & Authorization: Secure user registration, login, and role-based access control.
- Stadiums Management: Search and create stadiums with comprehensive details.
- Booking System: Efficient reservation of stadiums with time-based availability checks.
- GraphQL API: Flexible and efficient data interactions for the mobile app.
- TypeScript: Enhanced code quality, maintainability, and type safety.
## ๐ Getting Started
### 1. Prerequisites
- Install Node JS on your computer Here
- Install npm### 2. Clone the repository:
```bash
git clone https://github.com/ibrahimhabibeg/stadium-go-server
```### 3. Install dependencies:
```bash
cd stadium-go-server
npm install
```### 4. Set up environment variables:
- Create a .env file in the project root and configure the following variables:
```
DATABASE_URL=mysql://user:password@host:port/database
JWT_SECRET=your-secret
SALT_ROUNDS=number-of-salt-round-used-by-bcrypt
```### 5. Run migrations:
```bash
npx prisma migrate dev
```### 6. Start the server:
```bash
npm run dev
```## ๐ API Documentation
GraphQL Playground: Access the interactive GraphQL API documentation at http://localhost:4000/.
## โ Contributing
We welcome contributions! Please follow these guidelines:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes and commit them with clear messages.
- Open a pull request.## ๐ค Contact
Ibrahim Habib - - [email protected] - - [LinkedIn](https://www.linkedin.com/in/ibrahim-habib-a2948b286/)
Project Link: [Github](https://github.com/ibrahimhabibeg/stadium-go-server)
## ๐ Acknowledgements
- https://hotpot.ai/ for Images and Splash Screen Creation