This is the repository for my portfolio project developed in Next.js. The project uses TypeScript, Styled Components, React Hook Form, Zod for validation, consumes the GitHub API to list users and repositories, and utilizes Next.js API Routes to simulate authentication and communicate with a MongoDB database. Deployment is done in a Docker container.
Make sure to set the following environment variables before running the project:
MONGODB_URI
: MongoDB connection URL in the formatmongodb://user:password@host:port/?maxPoolSize=20&w=majority
MONGODB_HOST
: MongoDB hostMONGODB_PORT
: MongoDB portMONGODB_USER
: MongoDB userMONGODB_PASSWORD
: MongoDB passwordMONGODB_DB
: MongoDB database name
GITHUB_FINE_TOKEN
: Access token for GitHub API authentication
ADMIN_USERNAME
: Administrator's usernameADMIN_AVATAR_URL
: Administrator's avatar URLADMIN_EMAIL
: Administrator's emailADMIN_PASSW
: Administrator's password
-
User and Repository Listing: The project consumes the GitHub API to list users and repositories.
-
Simulated Authentication and Database Communication: Next.js API Routes are used to simulate authentication and interaction with MongoDB.
- Next.js: React framework for server-side rendering and static page generation.
- TypeScript: Adds static typing to JavaScript, providing a more secure codebase.
- Styled Components: Freedom in styling with the ability to use JavaScript to define styles.
- React Hook Form: Facilitates form creation in React.
- Zod: Library for data validation in TypeScript.
- MongoDB: NoSQL database used for data storage.
The project has been built and deployed in a Docker container.
Access the project at http://localhost:3000.
If you have any questions or suggestions, feel free to contribute or get in touch. 📬