A modern, open-source personal website built with React, TypeScript, Vite, and Tailwind CSS. It features a portfolio, CV, project gallery, and several developer tools, including a Base64 encode/decode API with a hidden admin key challenge!
- Personal Portfolio: Showcases my projects, skills, and achievements.
- Project Gallery: Highlights various web, desktop, and open-source projects.
- Base64 API: Simple API for encoding/decoding Base64, with rate limiting and a hidden admin key for unlimited access.
- Netlify Functions: Serverless backend for API endpoints.
-
Clone the repository:
git clone https://github.com/devmatei/my-cv.git cd my-cv -
Install dependencies:
npm install
-
Environment Variables:
- Copy
.env.exampleto.envand fill in your own secrets (if needed). - The Base64 API uses
ADMIN_API_KEYfor unlimited access. If not set, a default is used.
- Copy
-
Run locally:
npm run dev
-
Build for production:
npm run build npm run preview
See the API documentation.
- Endpoint:
/api/base64 - Methods:
GET - Query Parameters:
text(string, required): The text to encode or decodeaction(string, required):encodeordecode
- Headers:
x-api-key(optional): Use the secret admin key for unlimited requests
Rate Limiting:
- 10 requests per day per IP (unless you have the admin key)
curl "https://devmatei.com/api/base64?action=encode&text=hello"The not-so-hidden key challenge!
There is a secret API key hidden somewhere in this repository. If you can find it, you can use it as the x-api-key header for unlimited access to the Base64 API. Happy hunting!
Totally not an excuse for me to not do extra work :))
- Netlify:
- Uses
netlify.tomlfor build, redirects, and headers - Functions are in
netlify/functions/
- Uses
- React, TypeScript, Vite
- Tailwind CSS
- Express (for local API)
- Netlify Functions (for serverless API)
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). Commercial use is not permitted.
Made with ❤️ by DevMatei.