https://github.com/akronae/todealt
A technical test project, the aim is to create a simple to-do app using NestJS, Next.js & MongoDB.
https://github.com/akronae/todealt
Last synced: about 1 year ago
JSON representation
A technical test project, the aim is to create a simple to-do app using NestJS, Next.js & MongoDB.
- Host: GitHub
- URL: https://github.com/akronae/todealt
- Owner: Akronae
- Created: 2024-02-25T19:32:01.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-26T11:44:11.000Z (over 2 years ago)
- Last Synced: 2025-04-02T23:41:53.371Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 258 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ✅ Todealt
> A technical test project, the aim is to create a simple to-do app using NestJS, Next.js & MongoDB.
## Disclaimers
> [!CAUTION]
> Sensitive environment variables have been included into an encrypted file for your own convenience.
> Obviously that would not be a decent workflow for any other situation.
> [!WARNING]
> Due to the way GitHub authentication works (OAuth redirection), the app frontend must be ran on localhost:3000 on the machine you are browsering the website with.
> Or you can forward the query params manually after sign in.
## How to run
Clone the repo:
```bash
git clone https://github.com/Akronae/todealt
cd todealt
```
Decrypt `.env.enc` file with the password you received (openssl required):
```bash
bash decrypt.sh
# enter pasword and hit enter
```
> [!TIP]
> If you did not receive the password or if you are experiencing troubles, feel free to call me at any time.
### Run with Docker (recommended)
Make sure to have Docker and Docker Compose installed on your machine.
Then run:
```bash
docker compose up
```
Wait for every container to start up and then visit: http://localhost:3000
### Run a dev build manually
> [!TIP]
> NVM and Yarn are used in these examples, you can easily adapt them to your own tools if you need to.
> [!WARNING]
> You need to have a MongoDB instance running on the `MONGO_URI` address specified in your `.env`.
Copy your decrypted `.env`
```bash
cp .env app/.env.local
cp .env api/.env.local
```
Run Api:
```bash
cd api
nvm install
yarn
yarn start:dev
```
In another terminal, run App:
```bash
cd app
nvm install
yarn
yarn dev
```
## ✨ Features
- Fully dockerized
- Sign in with GitHub
- Responsive
### Api
- OpenAPI specs automatically generated on startup
- Swagger doc
- Using NestJS & MongoDB with Mongoose
### App
- Requests automatically generated from OpenAPI specs with `yarn openapi:gen`
- Using Ant Design
- Notes can be tagged
- Using latest Next.js with `/app` router
## 🎯 What could be improved
- Implement testing
- Make `/notes` code more readable