https://github.com/bagusvalentinoo/temu-kampus
Temu Kampus: A School and Campus Event Management System for handling event creation, registration, and feedback efficiently.
https://github.com/bagusvalentinoo/temu-kampus
mongodb next-auth-v5 nextjs nextjs-bun nextjs-typescript nextjs14 no-sql prisma-orm
Last synced: 6 months ago
JSON representation
Temu Kampus: A School and Campus Event Management System for handling event creation, registration, and feedback efficiently.
- Host: GitHub
- URL: https://github.com/bagusvalentinoo/temu-kampus
- Owner: bagusvalentinoo
- License: mit
- Created: 2025-01-03T14:14:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T17:10:51.000Z (about 1 year ago)
- Last Synced: 2025-01-06T18:27:28.832Z (about 1 year ago)
- Topics: mongodb, next-auth-v5, nextjs, nextjs-bun, nextjs-typescript, nextjs14, no-sql, prisma-orm
- Language: TypeScript
- Homepage: https://temu-kampus.vercel.app/
- Size: 2.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Temu Kampus - School and Campus Event Management System
## 📝 Description
**Temu Kampus** is a modern application designed to simplify event management for schools and campuses. It streamlines processes such as user registration, event creation, participant registration, event scheduling, and post-event feedback. With Temu Kampus, organizing events becomes more efficient and accessible through digital tools.
---
## 🌐 Demo
You can try the live demo here:
Temu Kampus Demo
### Test User Accounts
1. **Admin**
- Email: `admin@temukampus.com`
- Password: `admin1234!`
2. **Lecturer**
- Email: `lecturer@temukampus.com`
- Password: `lecturer1234!`
3. **Student**
- Email: `student@temukampus.com`
- Password: `student1234!`
---
## ✨ Key Features
- **User Management:**
- Separate roles for admin, lecturers, and students.
- **Event Creation & Management:**
- Create and manage events with detailed descriptions, schedules, and locations.
- **Participant Registration:**
- Online registration forms for participants.
- **Event Calendar:**
- A centralized calendar to view and filter events by category, date, or location.
- **Notifications & Reminders:**
- Email or SMS notifications for event updates and confirmations.
- **Feedback System:**
- Users can submit reviews and feedback for events.
- **Administrative Dashboard:**
- Real-time insights on attendance, reviews, and event statistics.
---
## 🛠️ Technologies Used
- **Framework:** Next.js v14
- **Package Manager:** Bun
- **Programming Language:** TypeScript
- **Database:** MongoDB
- **Authentication:** NextAuth v5
- **ORM:** Prisma
---
## 🔧 Installation
### Local Installation
1. **Clone the repository:**
```bash
git clone https://github.com/bagusvalentinoo/temu-kampus.git
cd temu-kampus
```
2. **Configure environment variables:**
- Copy the example `.env` file and update the values as needed:
```bash
cp .env.example .env
```
3. **Install dependencies using Bun:**
```bash
bun install
```
4. **Generate Prisma Client:**
```bash
bunx prisma generate
```
5. **Push database schema:**
```bash
bunx prisma db push
```
6. **Start the development server:**
```bash
bun dev
```
7. **Access the application:**
Open your browser and navigate to `http://localhost:3000`.
---
### Installation via Docker
1. **Generate MongoDB Keyfile:**
```bash
ops/generate-mongodb-keyfile.sh
```
2. **Configure environment variables:**
- Copy the example `.env` file for Docker and update as needed:
```bash
cp ops/.env.example ops/.env
```
3. **Start the application using Docker Compose:**
```bash
docker compose -f ops/dev.docker-compose.yml -p temu-kampus up -d --build
```
4. **Access the application:**
Navigate to `http://localhost:7001`.
---
## 📊 Migration & Database Seeding
- **Apply database schema:**
```bash
bunx prisma db push
```
- **Seed the database with sample data:**
```bash
bun run prisma:seed
```
---
## 📜 License
This project is licensed under the [MIT License](./LICENSE).
---
## 📞 Support
If you encounter any issues or have questions, feel free to open an issue or contact the maintainers.
---
## 📚 Resources
- Next.js Documentation
- Bun Documentation
- Prisma Documentation
- MongoDB Documentation