Skip to content

Temu Kampus: A School and Campus Event Management System for handling event creation, registration, and feedback efficiently.

License

Notifications You must be signed in to change notification settings

bagusvalentinoo/temu-kampus

Repository files navigation

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:

    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:
      cp .env.example .env
  3. Install dependencies using Bun:

    bun install
  4. Generate Prisma Client:

    bunx prisma generate
  5. Push database schema:

    bunx prisma db push
  6. Start the development server:

    bun dev
  7. Access the application: Open your browser and navigate to http://localhost:3000.


Installation via Docker

  1. Generate MongoDB Keyfile:

    ops/generate-mongodb-keyfile.sh
  2. Configure environment variables:

    • Copy the example .env file for Docker and update as needed:
      cp ops/.env.example ops/.env
  3. Start the application using Docker Compose:

    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:

    bunx prisma db push
  • Seed the database with sample data:

    bun run prisma:seed

📜 License

This project is licensed under the MIT License.


📞 Support

If you encounter any issues or have questions, feel free to open an issue or contact the maintainers.


📚 Resources

About

Temu Kampus: A School and Campus Event Management System for handling event creation, registration, and feedback efficiently.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages