Chronicles is a simple and dynamic blog application built using Next.js, Express, and MongoDB. The platform is built for the purpose of creating and engaging with blog content.
- User Authentication: Users can create accounts, log in, and log out with ease.
- Oauth: Users can also create accounts and log in with Github or Google accounts.
- Blog posts: Users can create and publish blog posts(edit and delete functionlity not included yet).
- Comments and Likes: Users can engage through comments and likes on each post.
- Password Management: Users can change password securely to maintain account integrity.
- Forgot Password/Password reset: Users can reset their password through email.
- Dynamic Theme Switching: Dark/Light theme feature to ensure custom reading experience.
Change into the project directory e.g
cd server
Install dependencies:
npm install
Start the dev server:
npm start
The development server will start at http://localhost:5000.
Change into the project directory e.g
cd chronicles
Install dependencies:
npm install
Start the dev server:
npm run dev
The development server will start at http://localhost:3000. You can open this URL in your web browser to view Chronicles.
FRONTEND_URL
: The URL of the frontend application.SECRET_KEY
: The secret key for session management.MONGODB_URI
: The URI of your MongoDB database.GOOGLE_CLIENT_ID
: Your Google OAuth client ID.GOOGLE_CLIENT_SECRET
: Your Google OAuth client secret.GITHUB_CLIENT_ID
: Your GitHub OAuth client ID.GITHUB_CLIENT_SECRET
: Your GitHub OAuth client secret.EMAIL_HOST_USER
: The host user of your email service.EMAIL_HOST_APP_PASSWORD
: The password for your email service.
BACKEND_URL
: The URL of the backend application.FRONTEND_URL
: The URL of the frontend application.
- Open Chronicles in your browser
- Before signing up/signing in, you can read other blogpost(but you can't create one or comment on it)
- Click on the "Sign Up" link to create a new account. Fill in the required details.
- It will redirect you to log in your details after signing up but if you already have an account, click on "Sign In" and enter your credentials.
- Click on write to create a new blogpost, fill in the title, author name, and content for your blog post. Then Click "Publish"
- Interact with your post and other posts.