https://github.com/domenez-dev/event-checkins-app
A full-stack event check-ins app built with Django (backend) and React Native/Flutter (frontend).
https://github.com/domenez-dev/event-checkins-app
Last synced: 12 months ago
JSON representation
A full-stack event check-ins app built with Django (backend) and React Native/Flutter (frontend).
- Host: GitHub
- URL: https://github.com/domenez-dev/event-checkins-app
- Owner: Domenez-dev
- Created: 2024-12-06T15:14:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-04T12:47:08.000Z (over 1 year ago)
- Last Synced: 2025-03-05T00:34:09.602Z (over 1 year ago)
- Language: JavaScript
- Size: 661 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Event Check-ins App
   
## π Overview
This **Event Check-ins App** is a full-stack application built with **Django** and **React Native**. Designed for efficient event management, it enables organizers to:
- Create events ποΈ
- Generate and send participant QR codes π§
- Manage check-ins via QR code scanning β
Developed as part of a **Google Developer Group (GDG) Club Algiers challenge**, it showcases full-stack development skills, including API creation, mobile app development, and deployment.
---
## π― Features
### π Authentication
- **Admins**: Create and manage events.
- **Organizers**: Scan QR codes to check in participants.
### ποΈ Event Management
- Admins can create events.
- Participants receive personalized emails with their unique QR codes and event details.
### π² QR Code Check-ins
- Organizers scan QR codes for instant participant check-ins.
- Secure backend validation ensures smooth operation.
### π§ Email Notifications
- Automated emails sent via **Gmail API** using OAuth2, containing QR codes and event information.
### π Deployment
- Backend hosted on **Render** with a **PostgreSQL** database.
- Mobile app built with **React Native**.
---
## π οΈ Tech Stack
### **Backend**
- 
- PostgreSQL
- Gmail API (OAuth2 for secure email integration)
- Django REST Framework
### **Frontend**
- 
### **Tools**
- Postman for API testing
- Render for deployment
- OAuth2 for secure authentication
---
## π Project Documentation
Check out the [π Official Docs](https://domenez-dev.gitbook.io/event-checkins-app) for complete details!
---
## π οΈ Setup Instructions
### Prerequisites
- Python 3.x
- Node.js and npm (for React Native)
- PostgreSQL (database)
- Google Cloud account (for Gmail API OAuth2 credentials)
### Backend Setup
1. Clone the repository:
```bash
git clone https://github.com/domenez-dev/event-checkins-app.git
cd event-checkins-app
```
2. Install dependencies:
```bash
cd backend/checkins-backend
pip install -r requirements.txt
```
3. Copy the environment variables from the .env.example file
```bash
mv ../backend/.env.example .env
```
4. Apply migrations:
```bash
python manage.py migrate
```
5. Run the server:
```bash
python manage.py runserver
```
### Frontend Setup
1. Navigate to the frontend directory:
```bash
cd frontend
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm start
```
4. Use Expo or a device emulator to run the app.
---
## π§ͺ Testing the API
Use **Postman** to test the API endpoints. Import the Postman collection from `docs/API-Documentation.json` and try endpoints like:
- Create participant (`POST /api/participants/`)
- Create event (`POST /api/events/`)
- Check-in QR code (`POST /api/checkins/`)
---
## π Deployment
1. Push your code to GitHub.
2. On Render, set up:
- **Web Service** for the Django backend.
- **Database** for PostgreSQL.
3. Add environment variables for database and Gmail API credentials.
Your app is now live π!
---
## π₯ Contributors
Abdou2425
beskie04
fbben
### gdg Developers Integrating Program for 2024/2025 Team Dev 6:
|
|
|
|
|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|
| [**Bouzara Zakaria**](https://github.com/domenez-dev) | [**Abed Abderrahmane**](https://github.com/Abdou2425) | [**bachferrag bouchra**](https://github.com/beskie04) | [**Fares Benziada**](https://github.com/fbben) |
### gdg mentors and co-managers:
|
|
|
|
|
|
|
|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|:---------------------------------------------------:|
| [**Ayyoub Kasmi**](https://github.com/Ayyoub-Kasmi) | [**Fares Mezenner**](https://github.com/FaresMezenner) | [**Derdouche Abdelghani**](https://github.com/Ninou01) | [**ZaΓ―neb Boukhetala:**](https://github.com/zcybrgd) | [**ar-ilyes:**](https://github.com/ar-ilyes) | [**Nada Djedjig:**](https://github.com/NaDdjg) |
---
## π License
The app was created for **educational purposes** as part of a **challenge from the Google Developer Group (GDG) Club Algiers**. It demonstrates practical skills in full-stack development, including backend API creation, frontend mobile app development, and deployment.