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.
- About
- Features
- Demo
- Quick Start
- Installation
- Usage
- Configuration
- Project Structure
- Contributing
- Testing
- Deployment
- FAQ
- License
- Support
- Acknowledgments
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.
- π― 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.
π Live Demo: https://acara-frontend-demo.example.com
Main application interface showing the event listing

User dashboard with event management and profile settings
Clone and run in 3 steps:
git clone https://github.com/MHendriF/frontend-acara.git
cd frontend-acara
npm install && npm startOpen http://localhost:3000 to view it in your browser.
- Node.js 18+ and npm
- Git
# Clone repository
git clone https://github.com/MHendriF/frontend-acara.git
cd frontend-acara
# Install dependencies
npm install
# Start development server
npm startimport React from 'react';
import EventList from './components/EventList';
function App() {
return (
<EventList />
);
}
export default App;// 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;Create a .env file in the root directory:
REACT_APP_API_URL=https://api.example.com
REACT_APP_THEME=light{
"name": "acara-frontend",
"version": "1.0.0",
"settings": {
"theme": "light",
"language": "en",
"notifications": true
}
}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
We welcome contributions! Please see our Contributing Guide for details.
- π΄ Fork the repository
- π Create your feature branch (
git checkout -b feature/AmazingFeature) - β
Commit your changes (
git commit -m 'Add some AmazingFeature') - π€ Push to the branch (
git push origin feature/AmazingFeature) - π Open a Pull Request
# 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- Follow existing code conventions
- Run
npm run lintbefore committing - Add tests for new features
- Update documentation as needed
npm testThis project can be deployed using various platforms such as Netlify, Vercel, or AWS.
- Create a Netlify account and install the Netlify CLI.
- Run
netlify deploy --prodto deploy the project.
- Create a Vercel account and install the Vercel CLI.
- Run
vercelto deploy the project.
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.
This project is licensed under the MIT License - see the LICENSE file for details.
- β Commercial use
- β Modification
- β Distribution
- β Private use
- β Liability
- β Warranty
- π§ Email: support@example.com
- π Issues: GitHub Issues
- π Documentation: Full Documentation
- π¨ Design inspiration: Dribbble
- π Libraries used:
- π₯ Contributors: Thanks to all contributors