diff --git a/README.md b/README.md index 7e7b0c2..f9fe5e2 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,42 @@ # Next.js Event Network Project +## Description + The main idea is that this is a site you go to for seeing what kind of various events are happening around the city, is there a concert? a large festival, a small festival, a renaissance fair, that one performance of McBeth happening in the local graveyard? you should be able to go to this site and find out without having to hope you see the poster on some random lamppost or stumble upon something that looks interesting and you maybe would've liked to attend, already happening when you are out and about. The site is supposed to act as a collective reference point for all these various events happening in and around the city, a marketing point even, though the site itself is not intended to be a point of sale for tickets... at least not within the scope of the project (If i have time, then maybe I can look at making it something like that in the future...) +## Functionalities + +- A landing page +- User Registration, Login, Logout and User Delete +- User profile page with links to individual posted events +- All Upcoming Events page +- Single event Page +- Posting of New Event + ## Technologies - Next.js +- TypeScript +- SASS CSS - PostgreSQL -- Jest -- Playwright - -## Database Setup - -If you don't have PostgreSQL installed yet, follow the instructions from the PostgreSQL step in [UpLeveled's System Setup Instructions](https://github.com/upleveled/system-setup/blob/master/readme.md). - -Copy the `.env.example` file to a new file called `.env` (ignored from Git) and fill in the necessary information. - -Then, connect to the built-in `postgres` database as administrator in order to create the database: - -**Windows** - -If it asks for a password, use `postgres`. - -```bash -psql -U postgres -``` - -**macOS** - -```bash -psql postgres -``` - -**Linux** - -```bash -sudo -u postgres psql -``` - -Once you have connected, run the following to create the database: - -```sql -CREATE DATABASE ; -CREATE USER WITH ENCRYPTED PASSWORD ''; -GRANT ALL PRIVILEGES ON DATABASE TO ; -\connect -CREATE SCHEMA AUTHORIZATION ; -``` - -Quit `psql` using the following command: - -```bash -\q -``` - -On Linux, you will also need to create a Linux system user with a name matching the user name you used in the database. It will prompt you to create a password for the user - choose the same password as for the database above. - -```bash -sudo adduser -``` - -Once you're ready to use the new user, reconnect using the following command. - -**Windows and macOS:** - -```bash -psql -U -``` - -**Linux:** - -```bash -sudo -u psql -U -``` +- Jest unit tests +- Playwright end to end testing +- DrawSQL https://drawsql.app/teams/final-project-21/diagrams/after-review-database-for-upleveled-fin-project + +## Setup Instructions + +- Clone the repository with `git clone ` +- Setup the database by downloading and installing PostgreSQL +- Create a user and a database +- Create a new file `.env` +- Copy the environment variables from `.env-example` into `.env` +- Replace the placeholders xxxxx with your username, password and name of database +- Install dotenv-safe with `pnpm add dotenv-safe` +- Run `pnpm install` in your command line +- Run the migrations with `pnpm migrate up` +- Start the server by running `pnpm dev` ## Run Tests @@ -94,39 +57,10 @@ pnpm playwright test - Fly.io - Docker - +![landing page](./public/screenshots/landingPage.webp) +![events page](./public/screenshots/eventsPage.webp) +![individual event page](./public/screenshots/ind-ev-pg.webp) +![profile page](./public/screenshots/profilePage.webp) +![post event form](./public/screenshots/postEvent.webp) diff --git a/public/screenshots/eventsPage.webp b/public/screenshots/eventsPage.webp new file mode 100644 index 0000000..63af3ae Binary files /dev/null and b/public/screenshots/eventsPage.webp differ diff --git a/public/screenshots/ind-ev-pg.webp b/public/screenshots/ind-ev-pg.webp new file mode 100644 index 0000000..a6e0b49 Binary files /dev/null and b/public/screenshots/ind-ev-pg.webp differ diff --git a/public/screenshots/landingPage.webp b/public/screenshots/landingPage.webp new file mode 100644 index 0000000..1275d12 Binary files /dev/null and b/public/screenshots/landingPage.webp differ diff --git a/public/screenshots/postEvent.webp b/public/screenshots/postEvent.webp new file mode 100644 index 0000000..7e022d9 Binary files /dev/null and b/public/screenshots/postEvent.webp differ diff --git a/public/screenshots/profilePage.webp b/public/screenshots/profilePage.webp new file mode 100644 index 0000000..765021b Binary files /dev/null and b/public/screenshots/profilePage.webp differ