This project is a Flask-based web application that serves as a portfolio website and offers some utility features. It provides information about the developer's projects and articles, allows users to connect with the developer, offers PDF cropping functionality, and enables users to update calendar events with alarms.
Before running this project, ensure you have the following prerequisites:
- Python 3.11.5
- Flask
- MongoDB
- Required Python libraries (Flask, mongoengine, etc.)
-
Clone the repository to your local machine.
git clone https://github.com/kundank191/portfolio.git
-
Change into the project directory.
cd portfolio -
Create a virtual environment (optional but recommended).
python -m venv venv
-
Activate the virtual environment (if created).
-
Windows:
venv\Scripts\activate
-
macOS and Linux:
source venv/bin/activate
-
-
Install the required dependencies.
pip install -r requirements.txt
-
Set up the MongoDB database by providing the
MONGO_URIenvironment variable.export MONGO_URI="mongodb://username:password@localhost:27017/your-database"
Replace
"username","password","localhost","27017", and"your-database"with your MongoDB configuration.
-
Run the Flask application.
python app.py
The application will be accessible at
https://kundan.me/. -
Access the following routes:
/: This is the homepage that displays information about the developer's projects and articles./connect_with_me: Allows users to connect with the developer by providing their name, email, phone, and a message./projects/calendar_optimization: Displays the calendar optimization page./projects/crop_pdf: Displays the PDF cropping page.
-
Use the web application to explore its features.
- Homepage: Provides information about the developer's projects and articles.
- Connect with Me: Users can submit their contact details and a message to connect with the developer.
- Calendar Optimization: Access the calendar optimization page.
- PDF Cropping: Upload a PDF file, specify cropping parameters, and receive a cropped PDF as the output.
- Update Calendar: Upload a file to update calendar events with alarms.
Contributions to this project are welcome. Feel free to open issues and pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Flask
- MongoDB
- Python libraries used in the project
- flat icon for icons
- unsplash for the images
- mobirise for the html templates