Skip to content

kalramohit/my-covid-time

Repository files navigation

My Covid Time is a non-profit & open source project with focus on building public platform to allow common citizens to share stories of difficut time of pendemic . It is an attempt to express regard and admiration for their efforts, as well as to encourage fellow citizens to keep hope and contribute to society in every way possible.

Current version is developed for India but can be modified easily for any other country.

Our stack / architecture is:

  • NextJS hosted on Vercel (already setup here)
  • Prisma as our ORM (makes things pretty smooth)
  • Postgresql as a DB For Story submissions
  • Prismic as headless CMS
  • Usefathom for analytics
  • TypeForm for user feedbacks

Contributing

  1. Clone this repo
  2. Install dependencies with npm i
  3. Rename .env.template to .env
  4. Get a local postgres db running - Docker is probably easiest, but local postgres would also work
  5. With Docker installed, run docker run --name my-covid-time-dev -p 5432:5432 -e POSTGRES_PASSWORD=mycovidtime -d postgres:12.6-alpine (this will match the DB URL string in .env)
  6. Run npx prisma migrate dev --name init to apply migrations in prisma/migrations.
  7. Run npx prisma db seed --preview-feature to see test data from prisma/seed.ts.
  8. Run npm run dev to start the app locally.
  9. You can use /api/stories to create new stories.
  10. Run npm test to run the test suite. This also gets run automatically on each Pull Request

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, install the dependencies

npm install
# or
yarn install

Then, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

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

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.