This project is a backend system that connects to an AWS S3 database, allowing for file CRUD operations. It integrates with Quill to create posts for my portfolio website, enabling easy image uploads to S3 for use in Quill posts. My API then sends this data to the frontend, generating project pages. Additionally, it uses an SQL Sequelize database to store text-related data.
🌐 Frontend Website : https://www.lukuoyu.com
🌐 Frontend github : https://github.com/klu0926/portfolio-react
- Post Editing: Utilize Quill for rich text editing in posts.
- Database Management: Handle database with sequelize
- API: Provide API to my portfolio react frontend.
- AWS: Upload and manage files with AWS S3.
- YouTube Integration: Use YouTube API to allow video embed on post
- Data Compression: Compress images using TinyPNG/TinyJPG.
- Express: Web framework for Node.js.
- Sequelize: ORM for database management.
- MySQL: Database client.
- AWS SDK: Interact with AWS services.
- Day.js: Date manipulation library.
- Dotenv: Load environment variables.
- Multer: Middleware for file uploads.
- Node.js installed on your machine.
- MySQL database set up.
- Clone the repository:
git clone https://github.com/yourusername/portfolio-backend.git- Navigate to the project directory:
cd portfolio-backend
- Install npm modules:
npm install
- Set up .env file environment variables:
AWS_BUCKET=
AWS_REGION=a
AWS_PUBLIC_BUCKET_URL=
AWS_ACCESS_KEY=
AWS_SECRET_ACCESS_KEY=
TINY_PNG_KEY=
- Running the Application
npm run dev
If you have any questions, feedback, or suggestions, feel free to reach out:
- Email: lukuoyu@gmail.com
- GitHub: klu0926