- Project Overview
- Features
- Technology Stack
- Installation
- Usage
- Screenshots
- API Endpoints
- Contributing
- License
- Contact
Ghost Events and Gaming is a web platform designed to provide a comprehensive space for organizing and promoting gaming events. The site offers an easy-to-navigate interface for both event organizers and participants, enabling seamless communication and efficient event management.
Website: https://ghosteventsandgaming.netlify.app/
GitHub Repository: https://github.com/B1LLYBAGZ/GhostGames
- Event Creation and Management: Organizers can create, update, and manage gaming events with detailed descriptions, schedules, and participant lists.
- User Authentication: Secure user registration and login using JWT.
- Real-time Updates: Events are updated in real-time using WebSockets.
- Responsive Design: Fully responsive layout optimized for both desktop and mobile devices.
- Material-UI Components: A modern and clean user interface built with Material-UI (MUI).
- Dynamic Data Fetching: Events and user data are dynamically fetched using Apollo Client.
- React.js: JavaScript library for building user interfaces.
- Material-UI (MUI): React components for faster and easier web development.
- React Router: For routing between different views in the application.
- Apollo Client: A comprehensive state management library for JavaScript that enables you to manage both local and remote data with GraphQL.
- Node.js: JavaScript runtime for server-side programming.
- Express.js: Web framework for Node.js.
- MongoDB: NoSQL database for storing user and event data.
- Mongoose: ODM (Object Data Modeling) library for MongoDB and Node.js.
- JWT (JSON Web Tokens): For secure user authentication and authorization.
- Netlify: Hosting and deployment platform for both the frontend and backend.
- Node.js (v14.x or later)
- npm or yarn
git clone https://github.com/B1LLYBAGZ/GhostGames.git
cd GhostGames
# Install backend dependencies
cd server
npm install
# Install frontend dependencies
cd ../client
npm install
# Run the backend server
cd server
npm run dev
# Run the frontend
cd ../client
npm start
Visit http://localhost:3000
to view the application in your browser.
- Register or Login: Create an account or log in using existing credentials.
- Create an Event: As an authenticated user, create a new gaming event with all the necessary details.
- Manage Events: View, update, or delete events you've created.
- Participate in Events: Join events hosted by others and stay updated with real-time notifications.
Include some screenshots of your application here to give a visual overview of the platform.
- POST
/api/auth/register
: Register a new user. - POST
/api/auth/login
: Log in an existing user.
- GET
/api/events
: Retrieve a list of all events. - POST
/api/events
: Create a new event. - PUT
/api/events/:id
: Update an existing event. - DELETE
/api/events/:id
: Delete an event.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature-name
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions, suggestions, or issues, please feel free to contact:
- William Hogan
- Email: 098williamhogan@gmail.com
- GitHub: https://github.com/B1LLYBAGZ