Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anmoldotx/roc8-assignment
roc8 assignment of moonshot July,2024
https://github.com/anmoldotx/roc8-assignment
hackathon moonshot pern-stack roc8 roc8assignment t3-app
Last synced: about 1 month ago
JSON representation
roc8 assignment of moonshot July,2024
- Host: GitHub
- URL: https://github.com/anmoldotx/roc8-assignment
- Owner: AnmolDotX
- Created: 2024-07-13T08:06:39.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-04T04:59:17.000Z (6 months ago)
- Last Synced: 2024-11-09T09:44:46.324Z (3 months ago)
- Topics: hackathon, moonshot, pern-stack, roc8, roc8assignment, t3-app
- Language: TypeScript
- Homepage: https://roc8-assignment-by-anmol.vercel.app
- Size: 412 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Roc8-Moonshot Fullstack Assingment
This project was developed as a take-home assignment for a Fullstack Developer position at Roc8-Career as part of the Moonshot competition. The application is built using Next.js, TypeScript, Tailwind CSS, Prisma, and PostgreSQL (NeonDB), and is deployed on Vercel.
## Table of Contents
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Environment Variables](#environment-variables)
- [Running the Application](#running-the-application)
- [Deployment](#deployment)
- [Future Plans](#future-plans)
- [Contact](#contact)## Features
- **Signup System with OTP**: Users can sign up using their email. An OTP is sent to the provided email for verification.
- **Login**: Users can log in using their email and password.
- **Category Management**: Logged-in users can view all categories and toggle (check/uncheck) their selection. The selected categories are saved to their profile and persisted across sessions.## Tech Stack
- **Frontend**: Next.js, TypeScript, Tailwind CSS
- **Backend**: Next.js API Routes, Prisma ORM
- **Database**: PostgreSQL (NeonDB)
- **Deployment**: Vercel## Getting Started
### Prerequisites
- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL### Installation
1. Clone the repository:
```bash
git clone https://github.com/AnmolDotX/roc8-assignment.git
cd roc8-assignment
```2. Install dependencies:
```bash
npm install
# or
yarn install
```### Environment Variables
Create a `.env` file in the root of your project and add the following environment variables:
```plaintext
API_BASE_URL="same as the base url for this app"
DATABASE_URL="postgres database connection string"ACCESS_TOKEN_SECRET="your secret access token key"
REFRESH_TOKEN_SECRET="your secret refresh token key"
RESEND_API_KEY="your resend api key"```
### Running the Application
1. Generate Prisma model in Database:
```bash
npm run db:generate
```2. seed 100 of data in database:
```bash
cd src/data
node seed.js
```3. Start the development server:
```bash
npm run dev
# or
yarn dev
```The application will be available at `http://localhost:3000`.
## Deployment
The application is deployed on Vercel. [live](https://roc8-assignment-by-anmol.vercel.app/)
## Future Plans
- **New Endpoints**:
- `checked-category`: Allows users to fetch only their checked categories.
- `logout`: Removes the HTTP-only cookie set at login to log the user out.
- **CSS Enhancements**: Improve the visual aesthetics of the application.
- **Additional Features**: More user profile options and settings.## Contact
For any questions or feedback, feel free to contact me at [[email protected]](mailto:[email protected]).