Skip to content

aya-asylbek/eventonica-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Eventonica 🎟️

A full-stack event management application built with React ⚛️, Express 🚂, and PostgreSQL 🐘.

Eventonica-app.mov

Features ✨

  • 🚀 CRUD Operations: Create, Read, Update, Delete events
  • 🔍 Advanced Search: Filter by name, category, or date
  • 📅 Date Handling: ISO date formatting and validation
  • 🛡️ Error Handling: Graceful error messages and loading states
  • Validation: Form validation for event creation
  • 📱 Responsive Design: Mobile-friendly interface

Tech Stack 🛠️

  • Frontend:
    React Vite

  • Backend:
    Node.js Express PostgreSQL

  • Testing:
    Vitest Testing Library

Database Setup 🗄️

The schema.sql file contains the database structure:

-- Create events table
CREATE TABLE IF NOT EXISTS events (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  date DATE NOT NULL,
  category VARCHAR(100)
);


To set up the database:

Create database:

createdb eventonica

Apply schema:

psql -d eventonica -f server/db/schema.sql

(Optional) Add sample data:

sql
Copy
INSERT INTO events (name, date, category)
VALUES 
  ('Music Concert', '2025-05-15', 'Music'),
  ('Tech Conference', '2025-06-20', 'Technology');

Getting Started 🚀

Prerequisites 📋

Node.js v18+ 

PostgreSQL v15+

npm v9+


Installation ⬇️

# Clone repository

git clone https://github.com/aya-asylbek/eventonica-app.git

cd eventonica

# Install backend dependencies

cd server && npm install

# Install frontend dependencies

cd ../client && npm install

Running the Application ▶️

Backend Server:

cd server

npm start

Frontend Client:

cd client

npm run dev

Visit http://localhost:5173 in your browser 🌐

Testing 🧪
Run frontend tests:

cd client

npm test

You will see test Results 

Project Structure 📂


eventonica/
├── client/             # Frontend
│   ├── src/           # React components
│   └── __tests__/     # Test files 🧪
│
├── server/            # Backend
│   ├── db/
│   │   └── schema.sql # Database schema 💾
│   └── routes/        # API endpoints 🚪
│
└── README.md          # You are here 📍


API Documentation 📚

Endpoint	Method	Description
/api/events	GET	Get all events
/api/events	POST	Create new event
/api/events/:id	DELETE	Delete event
/api/events/search	GET	Search events 🔍

Contributing 🤝

🍴 Fork the repository

🌿 Create your feature branch (git checkout -b feature/AmazingFeature)

💾 Commit your changes (git commit -m 'Add some AmazingFeature')

4: 🚀 Push to the branch (git push origin feature/AmazingFeature)

🔄 Open a Pull Request

License 📄

Distributed under the MIT License.

 See LICENSE for more information.

Happy Event Planning! 🎉📅✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published