Skip to content

Commit

Permalink
Merge pull request #3 from fedeya/migrate-to-next
Browse files Browse the repository at this point in the history
feat: add next web
  • Loading branch information
fedeya authored Nov 9, 2024
2 parents 3c9eee7 + 2863ac4 commit 870150f
Show file tree
Hide file tree
Showing 22 changed files with 2,601 additions and 101 deletions.
3 changes: 3 additions & 0 deletions apps/web-2/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["next/core-web-vitals", "next/typescript"]
}
40 changes: 40 additions & 0 deletions apps/web-2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
36 changes: 36 additions & 0 deletions apps/web-2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
26 changes: 26 additions & 0 deletions apps/web-2/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import type { NextConfig } from 'next';

const nextConfig: NextConfig = {
/* config options here */
redirects: async () => {
return [
{
source: '/blog',
destination: '/',
permanent: false,
},
{
source: '/blog/:slug',
destination: '/',
permanent: false,
},
{
source: '/cv',
destination: '/about',
permanent: false,
},
];
},
};

export default nextConfig;
27 changes: 27 additions & 0 deletions apps/web-2/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "web-2",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"next": "15.0.3",
"next-plausible": "^3.12.4",
"react": "19.0.0-rc-66855b96-20241106",
"react-dom": "19.0.0-rc-66855b96-20241106"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
"eslint-config-next": "15.0.3",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
}
}
8 changes: 8 additions & 0 deletions apps/web-2/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
tailwindcss: {},
},
};

export default config;
1 change: 1 addition & 0 deletions apps/web-2/public/file.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web-2/public/globe.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web-2/public/next.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/web-2/public/og-home.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web-2/public/vercel.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web-2/public/window.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
142 changes: 142 additions & 0 deletions apps/web-2/src/app/about/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
import { FC } from 'react';

type ExperienceProps = {
company: string;
role: string;
period: string;
children: React.ReactNode;
};

const Experience: FC<ExperienceProps> = ({
company,
children,
role,
period,
}) => {
return (
<div>
<div className="mb-2">
<h3 className="text-xl inline font-semibold text-purple-800 font-mono">
{company}
</h3>

<p className="inline ml-2">({period})</p>
</div>

<p className="mb-4 text-lg">{role}</p>

{children}
</div>
);
};

export const metadata = {
title: 'About me - Federico Minaya',
description: 'Full Stack Developer based in Buenos Aires, Argentina',
};

export default function About() {
return (
<div>
<section id="about" className="space-y-6 border-b border-gray-200 pb-8">
<h2 className="text-2xl font-bold font-mono">About me</h2>

<p className="text-lg">
I'm a Full Stack Developer passionate about building scalable
solutions that make a real impact. At Aerolab, I lead technical
initiatives for products serving millions of users, from fintech
platforms to video streaming services.
</p>

<h3 className="text-xl font-semibold font-mono">
My expertise lies in:
</h3>

<ul className="text-lg font-medium list-disc px-8">
<li>Building performant web applications</li>
<li>Developing cross-platform mobile solutions</li>
<li>Architecting serverless infrastructures</li>
<li>Creating developer tools used by hundreds of projects</li>
</ul>
<p className="text-lg">
Currently focused on scaling digital products and contributing to the
open-source community, where my tools help thousands of developers
worldwide.
</p>
</section>

<section className="py-8" id="experience">
<h2 className="text-2xl mb-6 font-bold font-mono">Experience</h2>

<div className="space-y-8">
<Experience
company="Aerolab"
role="Senior Full Stack Developer & Technical Lead"
period="2022 - Present"
>
<ul className="list-disc space-y-2 px-4">
<li>
<span className="font-medium">Cocos Capital</span>: Redesigned
the Cocos Capital website with eye-candy animations using
Next.js and Sanity.
</li>

<li>
<span className="font-medium">Solid Starts</span>: Built mobile
app and serverless backend for 2.5 million users with React
Native and AWS.
</li>

<li>
<span className="font-medium">Renxo</span>: Developed a video
streaming platform for web and mobile using Next.js and React
Native
</li>

<li>
<span className="font-medium">Blinktrip</span>: Created an
internal CRM using Next.js and DynamoDB.
</li>
</ul>
</Experience>

<Experience
company="Diseño Group"
role="Technical Lead on the main marketing product"
period="2021 - 2022"
>
<ul className="list-disc space-y-2 px-4">
<li>
Developed a mobile app for report submissions using React Native
</li>

<li>Built an internal CRM and client dashboard with Next.js</li>

<li>Designed and implemented the backend using Nest.js.</li>
</ul>
</Experience>

<Experience
company="Freelance"
role="Full Stack Developer"
period="2010 - 2022"
>
<ul className="list-disc space-y-2 px-4">
<li>
<span className="font-medium">Nerdearla</span>: Automated system
for generating thumbnails for the conference, using Next.js,
Puppeteer and Sanity
</li>

<li>
<span className="font-medium">Multiple projects</span>:
Developed mobile apps for service marketplaces and social media
platforms.
</li>
</ul>
</Experience>
</div>
</section>
</div>
);
}
Binary file added apps/web-2/src/app/fonts/GeistMonoVF.woff
Binary file not shown.
Binary file added apps/web-2/src/app/fonts/GeistVF.woff
Binary file not shown.
21 changes: 21 additions & 0 deletions apps/web-2/src/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

/* :root { */
/* --background: #ffffff; */
/* --foreground: #171717; */
/* } */
/**/
/* @media (prefers-color-scheme: dark) { */
/* :root { */
/* --background: #0a0a0a; */
/* --foreground: #ededed; */
/* } */
/* } */
/**/
/* body { */
/* color: var(--foreground); */
/* background: var(--background); */
/* font-family: Arial, Helvetica, sans-serif; */
/* } */
Binary file added apps/web-2/src/app/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 870150f

Please sign in to comment.