Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/atharva-narkhede/photography_contest_reactjs

The Photography Contest Website, developed using the MERN stack (MongoDB, Express.js, React.js, Node.js), facilitates seamless participation for photographers in contests through user-friendly interfaces for photo uploads, voting, and contest management.
https://github.com/atharva-narkhede/photography_contest_reactjs

api contest-website mern-stack photo-contest photography public-photography-contest

Last synced: about 5 hours ago
JSON representation

The Photography Contest Website, developed using the MERN stack (MongoDB, Express.js, React.js, Node.js), facilitates seamless participation for photographers in contests through user-friendly interfaces for photo uploads, voting, and contest management.

Awesome Lists containing this project

README

        

# Photography Contest Website

## Description

The Photography Contest Website, developed using the MERN stack (MongoDB, Express.js, React.js, Node.js), facilitates seamless participation for photographers in contests through user-friendly interfaces for photo uploads, voting, and contest management. Admins efficiently oversee contests with features for creation, updating, and deletion, ensuring smooth photo management. The platform fosters community engagement and talent showcasing, enhancing user experience and fostering a vibrant photography community.

## Features

### User Features
- **Registration and Login**: Users can register and log in to participate in contests.
- **Join Contests**: Users can join ongoing contests and upload their photographs.
- **Voting**: Users can view contest entries and cast one vote per contest.

### Admin Features
- **Admin Login**: Admins have a separate login interface.
- **Contest Management**: Admins can create, edit, and delete contests.
- **Photo Management**: Admins can view all entries in a contest and delete any inappropriate images.
- **Voting**: Admins can also vote in contests if desired.

## Screenshots

### Admin Dashboard


admin-dashboard

### Manage Contest


manage-contest

### Admin Create Contest


admin-create-contest

### Ongoing Contest Page


ongoing-contest-page

### Past Contest Page


pastcontest-page

### Winner from Past Contest


winner-from-past-contest

### User Homepage


user-homepage

### User Join Contest


user-join-contest

### User View Contest and Vote


user-view-contest-and-vote

## Getting Started

### Prerequisites
- Node.js
- MongoDB

### Installation

1. **Clone the repository:**
```bash
git clone https://github.com/atharva-narkhede/Photography_Contest_ReactJS.git
cd Photography_Contest_ReactJS
```

2. **Install dependencies:**
```bash
npm install
```

3. **Set up environment variables:**
Create a `.env` file in the root directory and add your MongoDB URI and other necessary configurations.

4. **Start the development server:**
```bash
npm start
```

### Backend Repository

The backend of this React app is in a separate repository: [Photography Contest Backend](https://github.com/atharva-narkhede/Photography_Contest_Backend). The backend is hosted on Render.com and is used as an API in the above React app for CRUD operations.

### Backend Repository Setup

To get a local copy of the backend up and running, follow these simple steps:

1. **Clone the repository:**
```bash
git clone https://github.com/atharva-narkhede/Photography_Contest_Backend.git
cd Photography_Contest_Backend
```

2. **Install dependencies:**
```bash
npm install
```

3. **Set up environment variables:**
Create a `.env` file in the root directory and add your MongoDB URI and server port:
```sh
PORT=5000
MONGO_URI=your_mongodb_connection_string
```

4. **Start the development server:**
```bash
npm run dev
```

The server will start on `http://localhost:5000`.

### Contributing

1. **Fork the repository.**

2. **Create a new branch:**
```bash
git checkout -b feature/your-feature-name
```

3. **Make your changes and commit them:**
```bash
git commit -m 'Add some feature'
```

4. **Push to the branch:**
```bash
git push origin feature/your-feature-name
```

5. **Create a pull request.**

## Links

- **Live Website**: [Photography Contest Website](https://photography-contest-a6a50.web.app)
- **Frontend Repository**: [Photography Contest ReactJS](https://github.com/atharva-narkhede/Photography_Contest_ReactJS)
- **Backend Repository**: [Photography Contest Backend](https://github.com/atharva-narkhede/Photography_Contest_Backend)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- MERN stack documentation and community.
- Contributors and users for their feedback and support.

Feel free to contribute and enhance this project to support a thriving photography community!