Plana is a full-stack event management application designed to streamline the organization and coordination of events. It offers a robust backend API and a dynamic frontend interface, providing users with an efficient platform to manage events seamlessly.
- Event Creation and Management: Easily create, update, and delete events with detailed information.
- User Authentication: Secure user registration and login functionalities.
- Responsive Design: Optimized for various devices, ensuring a consistent user experience.
- Image Uploads: Integrates with Cloudinary for efficient image storage and retrieval.
- Node.js: JavaScript runtime for building scalable network applications.
- Express.js: Minimalist web framework for Node.js.
- TypeScript: Typed superset of JavaScript that compiles to plain JavaScript.
- Prisma ORM: Next-generation ORM for Node.js and TypeScript.
- PostgreSQL: Open-source object-relational database system.
- Angular 18: Platform for building dynamic web applications.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
Here's an overview of the folder structure to help you understand the project organization:
plana/
├── backend/
│ ├── prisma/
│ ├── src/
│ │ ├── controllers/
│ │ ├── middlewares/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── services/
│ │ ├── utils/
│ │ └── index.ts
│ └── package.json
│
├── frontend/
│ ├── src/
│ │ ├── app/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/
│ │ └── main.ts
│ └── package.json
│
└── README.md
-
Clone the Repository:
git clone https://github.com/victorpreston/plana.git
-
Navigate to the Project Directory:
cd plana
-
Install Backend Dependencies:
cd backend npm install
-
Set Up Environment Variables: Create a
.env
file in thebackend
directory with the following:DATABASE_URL=your_postgresql_database_url CLOUDINARY_URL=your_cloudinary_url
-
Run Database Migrations:
npx prisma migrate dev
-
Start the Backend Server:
npm run dev
-
Install Frontend Dependencies:
cd ../frontend npm install
-
Start the Frontend Server:
npm start
Once both servers are running, you can access the application at http://localhost:4200
. Register or log in to manage and explore events.
Contributions are welcome! Fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.