Skip to content

MHendriF/frontend-acara

Repository files navigation

🌐 Acara Frontend

A modern frontend application built with TypeScript and React. Streamlining event management for users.

This project aims to provide a user-friendly interface for managing and interacting with events.

License GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit

TypeScript React Node.js

πŸ“‹ Table of Contents

About

The Acara Frontend project is a web application designed to provide a seamless event management experience. Built with TypeScript and React, it leverages modern frontend technologies to deliver a responsive and intuitive user interface. This project aims to simplify event creation, discovery, and participation for both organizers and attendees.

This frontend application interacts with a backend API (not included in this repository) to manage event data. It targets event organizers looking for a user-friendly platform and attendees seeking a convenient way to find and join events. The architecture is based on a component-driven approach with React, ensuring maintainability and scalability.

Key technologies include React for building the UI, TypeScript for type safety and improved code quality, and modern styling techniques for a visually appealing experience. The application emphasizes a clean and efficient design to provide a superior user experience.

✨ Features

  • 🎯 Event Creation: Easily create new events with detailed descriptions, dates, times, and locations.
  • ⚑ Responsive Design: Optimized for various screen sizes, ensuring a consistent experience on desktops, tablets, and mobile devices.
  • πŸ”’ User Authentication: Secure user accounts with login and registration functionality.
  • 🎨 Customizable Interface: Theming options to personalize the look and feel of the application.
  • πŸ“± Mobile-Friendly: Designed with mobile users in mind for on-the-go access.
  • πŸ› οΈ Extensible: Modular architecture allows for easy integration of new features and components.

🎬 Demo

πŸ”— Live Demo: https://acara-frontend-demo.example.com

Screenshots

Main Interface Main application interface showing the event listing

Dashboard View
User dashboard with event management and profile settings

πŸš€ Quick Start

Clone and run in 3 steps:

git clone https://github.com/MHendriF/frontend-acara.git
cd frontend-acara
npm install && npm start

Open http://localhost:3000 to view it in your browser.

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ and npm
  • Git

Option 1: From Source

# Clone repository
git clone https://github.com/MHendriF/frontend-acara.git
cd frontend-acara

# Install dependencies
npm install

# Start development server
npm start

πŸ’» Usage

Basic Usage

import React from 'react';
import EventList from './components/EventList';

function App() {
  return (

      <EventList />

  );
}

export default App;

Advanced Examples

// Example of fetching event data from an API
import { useState, useEffect } from 'react';

function EventList() {
  const [events, setEvents] = useState([]);

  useEffect(() => {
    async function fetchEvents() {
      const response = await fetch('/api/events'); // Replace with your API endpoint
      const data = await response.json();
      setEvents(data);
    }

    fetchEvents();
  }, []);

  return (

      {events.map(event => (

          {event.name}

      ))}

  );
}

export default EventList;

βš™οΈ Configuration

Environment Variables

Create a .env file in the root directory:

REACT_APP_API_URL=https://api.example.com
REACT_APP_THEME=light

Configuration File

{
  "name": "acara-frontend",
  "version": "1.0.0",
  "settings": {
    "theme": "light",
    "language": "en",
    "notifications": true
  }
}

πŸ“ Project Structure

frontend-acara/
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/          # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ πŸ“„ EventList.tsx
β”‚   β”‚   └── πŸ“„ EventCard.tsx
β”‚   β”œβ”€β”€ πŸ“ pages/              # Application pages
β”‚   β”‚   β”œβ”€β”€ πŸ“„ Home.tsx
β”‚   β”‚   └── πŸ“„ EventDetails.tsx
β”‚   β”œβ”€β”€ πŸ“ hooks/              # Custom React hooks
β”‚   β”‚   └── πŸ“„ useEvents.ts
β”‚   β”œβ”€β”€ πŸ“ utils/              # Utility functions
β”‚   β”‚   └── πŸ“„ api.ts
β”‚   β”œβ”€β”€ πŸ“ styles/             # CSS/styling files
β”‚   β”‚   └── πŸ“„ global.css
β”‚   └── πŸ“„ App.tsx            # Application entry point
β”œβ”€β”€ πŸ“ public/                 # Static assets
β”œβ”€β”€ πŸ“„ .env.example           # Environment variables template
β”œβ”€β”€ πŸ“„ .gitignore             # Git ignore rules
β”œβ”€β”€ πŸ“„ package.json           # Project dependencies
β”œβ”€β”€ πŸ“„ README.md              # Project documentation
└── πŸ“„ LICENSE                # License file

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. 🍴 Fork the repository
  2. 🌟 Create your feature branch (git checkout -b feature/AmazingFeature)
  3. βœ… Commit your changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the branch (git push origin feature/AmazingFeature)
  5. πŸ”ƒ Open a Pull Request

Development Setup

# Fork and clone the repo
git clone https://github.com/yourusername/frontend-acara.git

# Install dependencies
npm install

# Create a new branch
git checkout -b feature/your-feature-name

# Make your changes and test
npm test

# Commit and push
git commit -m "Description of changes"
git push origin feature/your-feature-name

Code Style

  • Follow existing code conventions
  • Run npm run lint before committing
  • Add tests for new features
  • Update documentation as needed

Testing

npm test

Deployment

This project can be deployed using various platforms such as Netlify, Vercel, or AWS.

Netlify

  1. Create a Netlify account and install the Netlify CLI.
  2. Run netlify deploy --prod to deploy the project.

Vercel

  1. Create a Vercel account and install the Vercel CLI.
  2. Run vercel to deploy the project.

FAQ

Q: How do I configure the API URL?

A: Set the REACT_APP_API_URL environment variable in your .env file.

Q: How do I change the theme?

A: Set the REACT_APP_THEME environment variable to light or dark.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

License Summary

  • βœ… Commercial use
  • βœ… Modification
  • βœ… Distribution
  • βœ… Private use
  • ❌ Liability
  • ❌ Warranty

πŸ’¬ Support

πŸ™ Acknowledgments

  • 🎨 Design inspiration: Dribbble
  • πŸ“š Libraries used:
  • πŸ‘₯ Contributors: Thanks to all contributors

Releases

No releases published

Packages

No packages published

Languages