Skip to content

Minimalist CV that is easy to set up and use, even for non-developers.

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
ORIGINAL_LICENSE.txt
Notifications You must be signed in to change notification settings

yassine20011/cv

Repository files navigation

Minimalist CV with a User-Friendly Layout

This project is a fork of cv, originally licensed under the MIT License by @BartoszJarocki. See the ORIGINAL_LICENSE.txt for details.

I have converted the project to be more user-friendly and added several features. This project aims to provide a minimalist CV that is easy to set up and use, even for non-developers.

Table of Contents

Features

  • Authenticated users using OAuth (Google and GitHub)
  • Fully responsive design
  • Three pages: Personal Details, Manage Content, and Preview
    • Personal Details: Users can add their personal details, experience, education, and projects.
    • Manage Content: Users can add or remove experience, education, and projects.
    • Preview: Users can preview their CV.
    • preview can be accessed via a wildcard subdomain (e.g., yourname.cvhub.live)
  • Wildcard subdomain for each user
  • Users can download their CV as a PDF

Tech Stack

  • Next.js
  • TypeScript
  • Tailwind CSS
  • next-auth
  • Prisma with PostgreSQL
  • Vercel (for deployment)
  • Cloudinary (for image upload)
  • Aiven (for PostgreSQL database)
  • Cloudflare (for DNS, SSL, and wildcard subdomain)
  • GitHub Actions (for CI/CD)

Installation

To install the project, follow these steps:

  1. Clone the project:

    git clone <project-url>
  2. Install the dependencies:

    npm install
  3. Create a .env.local file in the root directory and add the following environment variables:

    DATABASE_URL=postgres://username:password@host:port/dbname
    
    # Cloudinary credentials
    CLOUDINARY_CLOUD_NAME=<cloudinary_cloud_name>
    CLOUDINARY_API_KEY=<cloudinary_api_key>
    CLOUDINARY_API_SECRET=<cloudinary_api_secret>
    
    # Auth credentials
    NEXTAUTH_SECRET=<nextauth_secret>
    GOOGLE_CLIENT_ID=<google_client_id>
    GOOGLE_CLIENT_SECRET=<google_client_secret>
    GITHUB_CLIENT_ID=<github_client_id>
    GITHUB_CLIENT_SECRET=<github_client_secret>
    NEXTAUTH_URL=http://localhost:3000
    NODE_ENV=development
  4. Run the migrations:

    npx prisma migrate dev
  5. Run the project:

    npm run dev

If you have Docker installed, you can use the docker-compose.yaml to create a PostgreSQL database:

```bash
docker-compose start
```

TODO

  • Setup next-auth
  • Setup Prisma with PostgreSQL
  • Setup Cloudinary
  • Setup Aiven
  • Setup Cloudflare
  • Setup GitHub Actions
  • Add wildcard subdomain
  • Add personal details page
  • Add buttons to add Experience, Education, and Projects on personal details page
  • Add manage content page
  • Add/remove buttons Experience, Education, and Projects on manage content page
  • Add edit buttons Experience, Education, and Projects on manage content page
  • Add preview page
  • Add download as PDF button (already exists)
  • Add more themes
  • Add unit tests

Contributing

If you want to contribute to this project, you can fork the project and create a pull request. I will review the pull request and merge it if it is good.

Credits

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Minimalist CV that is easy to set up and use, even for non-developers.

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
ORIGINAL_LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published